2017-07-01 4 views
0

を示しませんでした。それは何が間違っていますか?データがデータベースに挿入されていない、何のエラーは私がテストし、私のPHPスクリプトにこのコードを持っている

これは全体のコードです:

if(isset($_POST['te_package'])){ 
// Lets get the data.... 
$sP = intval($_POST['te_package']); 
// Lets check in DB either it is there or not. 
$chk = mysql_query("SELECT * FROM te_pack WHERE id='$sP' LIMIT 1"); 
if(mysql_num_rows($chk)== 1){ // Founded go ahead 
// Fetch the sP pack 
$cPack = mysql_fetch_array($chk); 
// Check user balance... 
if($user_info['purchase_balance'] >= $cPack['t_price']){ // Proceed as user 
have enough balance to make purchase. 
// Lets Cut out the user balance... And give the TE Credits 
mysql_query("UPDATE members SET purchase_balance = purchase_balance - 
'$cPack[t_price]' , te_credit = te_credit + '$cPack[t_credit]' 
WHERE id='$user_info[id]'"); 
// Insert the logs of sales... 
//mysql_query("INSERT INTO te_sales(uid,s_credit,s_price,s_date) VALUES 
('$user_info[id]','$cPack[t_credit]','$cPack[t_price]',time())"); 
$result = mysql_real_escape_string(" 
INSERT INTO te_sales(uid,s_credit,s_price,s_date) 
VALUES ('$user_info[id]','$cPack[t_credit]','$cPack[t_price]',time()) 
"); 

if (!$result) { 
die('Invalid request : ' . mysql_error()); 
} 

enter image description here

+1

のように[MySQLのINSERT文の内側にPHP変数を含める方法]の可能な複製をしてみてください(https://stackoverflow.com/questions/7537377/how-to-include-php-variable-inside-a-mysql-insert-statement) – Alexander

答えて

2

は、エラーが発生した場合、あなたが見たことがありますか?

<?php 
$result_data = mysql_query(' 
    INSERT INTO te_sales(uid,s_credit,s_price,s_date) 
    VALUES (
     "'.mysql_real_escape_string($user_info['id']).'", 
     "'.mysql_real_escape_string($cPack['t_credit']).'", 
     "'.mysql_real_escape_string($cPack['t_price']).'", 
     now() 
    ) 
'); 

if (!$result_data) { 
    die('Invalid query request: ' . mysql_error()); 
} 
?> 
+0

これはあなたのコードを使用して取得するエラーです: '無効な要求:あなたのSQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックして正しい構文を確認してください。 ')2行目で – DrMTR

+0

あなたのvarsの内容をエスケープしてから挿入してください。 "mysql_real_escape_string"関数 –

+0

をmysql_queryをmysql_real_escape_stringに置き換えましたが、何も変更しませんでした。エラーは表示されませんが、データベースには何も挿入しません。 – DrMTR

0

あなたは構文を挿入が間違っている、この

$result_data = mysql_query(" 
    INSERT INTO te_sales(uid,s_credit,s_price,s_date) VALUES ('".$user_info['id']."','".$cPack['t_credit']."','".$cPack['t_price']."',time() ) 
"); 

if (!$result_data) { 
    die('Invalid query request: ' . mysql_error()); 
} 
+0

コードを追加するとエラー500が表示されます。 – DrMTR

+0

@DrMTR「mysql_real_escape_string」のような文字列エスケープを使って引用符を追加しましたか? –

+0

No.追加しないでください。変数をtime()からSQLクエリの中に変更するだけで、それを動作させることができます。 VALUES( '$ user_info [id]'、 '$ cPack [t_credit]'、 '$ cPack [t_price]'、now()) "mysql_query(" INSERT INTO te_sales(uid、s_credit、s_price、s_date) ; ' – DrMTR

関連する問題