2016-06-24 5 views
-2

このクエリが機能しない理由を理解できません。それが真実を返してくれるかどうかを調べる!しかし、もし私がSQLテーブルを見に行くと、それは更新されていない...誰かが私を助けることができますか?このSQL Updateクエリを作成しようとしていますが、なぜ動作しないのかわかりません。

これはコードです:

$rowpost=''; 
if(isset($_POST['rowpost'])){ 
$rowpost = $_POST['rowpost']; 
$rowpost = implode(' ', $rowpost); 
    if(mysql_query("UPDATE prodotti SET vetrina='$rowpost' WHERE id='$_GET['id']'")){ 
    echo 'rowpost'; 
    } 
} 
if(isset($_POST['addrowname'])){ 
$filename = "showcase.txt"; 
$contents = file_get_contents($filename); 
$newcontent = $contents.' '.$_POST['addrowname']; 
fwrite(fopen($filename, 'w'), $newcontent); 
if(isset($_POST['chkaddshcs'])){ 
    $rowpost = $_POST['addrowname'].' '.$rowpost; 
    if(mysql_query("UPDATE prodotti SET vetrina='".$rowpost."' WHERE id='".$_GET['id']."'")){ 
    echo 'chkaddshcs'; 
    } 
} 

それはエラーを与えるものではありません、それはrowpostchkaddshcsを言うが、彼はテーブルを更新しません...

+1

だけSHUREを作るために:あなたは、データベースへの接続をオープンしましたか? mysqlの代わりにmysqliを使うことをお勧めします。 Mysqlは廃止されました –

+0

はい、これはコードの一部に過ぎません – valbuxvb

+0

アップデートのエコーを試みましたか?vetrina = '$ rowpost' WHERE id = '$ _GET [' id ']' "'?もしそうなら、結果は何ですか? – kentor

答えて

0

まず第一に。 mysql_*機能の使用を停止するようになりました。代わりにmysqli_*を使用してください。参照のためにthis questionを読んでください。

また、コードがSQLインジェクションの危険性があります。参考のためthis questionも読んでください。

この行:あなたの特定の問題について


mysql_query("UPDATE prodotti SET vetrina='$rowpost' WHERE id='$_GET['id']'") 

あなたはID周りの単一引用符を削除するか、中括弧を追加する必要があります。

mysql_query("UPDATE prodotti SET vetrina='$rowpost' WHERE id='{$_GET['id']}'") 

OR

mysql_query("UPDATE prodotti SET vetrina='$rowpost' WHERE id='$_GET[id]'") 
+0

はい、これまでに$ _SESSIONコントロールがあります:ウェブサイト管理者だけがこのページにアクセスできるので、SQLインジェクションについて心配していませんでした。 – valbuxvb

+0

あなたのコードを試してみました。 – valbuxvb

関連する問題