ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:hussein Mysql UPDATE出来ません
困り度:
  • すぐに回答を!
PHP+MySQLでホームページ開発中ですが、MySQLで特定idのフィールドの更新処理(UPDATE)が出来ません。初心者です宜しくお願いします。
【Mysqlで確認した点】
(1)XAMPP・MyAdminからは以下のSQL文で問題なく更新できる。
"UPDATE upload_list SET rem='ABCDEF' WHERE id=15;"
【問題は?】
以下のphpからは更新できません。
【phpで確認した点は?】
(1)DBへ正常に接続してる。
(2)文字コードも正常にSETしてる。
(3)UPDATE実行後の$RESULT(返り値)がない。
(4)PHPを実行後、MyAdminでDBを確認しても更新されていない。

【phpコード】
<?php
//データベースパラメータ定義
$DBSERVER="localhost";
$DBUSER="root";
$DBPASSWORD="";
$DBNAME="up_load";
$DATANAME="upload_list";

//Mysqlに接続
if(mysql_connect($DBSERVER,$DBUSER,$DBPASSWORD))
{echo "DB接続済/";}
else
{echo "<h2>データベースに接続できません</h2>";die();} //Mysql停止
//データベースを選定
mysql_select_db($DBNAME);
//Mysqlの文字セットを定義
$sql = "SET NAMES ujis;";
$result = mysql_query($sql);
if ($result==true){echo "文字コードSET済/";}

//更新id、rem(更新記事)をSET
$id=15;
$new_rem="ABCDEF";
echo $DATANAME."/".$id."/".$new_rem."/";

//Mysql更新処理
$result=mysql_query('UPDATE $DATANAME SET rem=$new_rem WHERE id=$id;');
if ($result==true){echo "更新!";}
else
{echo "更新出来ず";}

//XAMMP phpMyAdminからは以下のSQL文で更新できた。
//UPDATE upload_list SET rem='ABCDEF' WHERE id=15;
?>
【実行後のブラウザ表示】
DB接続済/文字コードSET済/upload_list/15/ABCDEF/更新出来ず
質問投稿日時:08/01/09 08:31
質問番号:3663217
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

良回答20pt

回答者:yambejp $result=mysql_query('UPDATE $DATANAME SET rem=$new_rem WHERE id=$id;');
の行をきっちりデバッグ用に書き直してください。

(1)SQL文はヒアドキュメントをつかう
(2)テーブルやフィールドはバッククォート、値はシングルクォートでくくる
(3)変数は{$hoge}形式で参照する
(4)SQL文の最後になるべく;はつけない
(5)エラーはmysql_error()で確認する。

$sql=<<<eof
UPDATE `{$DATANAME}`
SET `rem`='{$new_rem}'
WHERE `id`='{$id}'
eof;

$result=mysql_query($sql) or die($sql.mysql_error());
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/01/09 09:27
回答番号:No.2
この回答へのお礼感激です!
今までの試行錯誤がウソみたい!
sql文をご指摘通り書き直したらUPDATE出来ました。有難うございました。
{$hoge}形式を勉強します。
【書き直したsql文】
$sql=<<<eof
UPDATE `{$DATANAME}`
SET `rem`='{$new_rem}'
WHERE `id`='{$id}'
eof;

回答

 

回答者:marimari01 >$result=mysql_query('UPDATE $DATANAME SET rem=$new_rem WHERE id=$id;');

rem=$new_rem
ですが、
変数の前後にシングルクォートが必要でしょう。
種類:アドバイス
どんな人:専門家
自信:自信あり
回答日時:08/01/09 09:07
回答番号:No.1
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示良回答のみ表示