我將問題簡化爲簡單狀態。爲什麼更新命令不能執行?
mysql> select * from `table`;
+--------+---------+
| f1 | f2 |
+--------+---------+
| hallo | welcome |
| string | array |
+--------+---------+
2 rows in set (0.00 sec)
我想將表格更改爲以下結果。
mysql> select * from `table`;
+--------+------- --+
| f1 | f2 |
+--------+---------+
| hallo | welcomehaha |
| string | arrayhaha |
+--------+------- --+
2 rows in set (0.00 sec)
這是我的代碼。
<?php
header("Content-Type: text/html; charset=gbk");
$db=new PDO("mysql:host=localhost;dbname=test","root","");
$statement1=$db->prepare("select f1,f2 from `table`");
$statement1 -> execute();
while($row=$statement1->fetch()){
$new_content=$row["f1"];
$new_f2=$row['f2'].'haha';
echo $new_f2.'</br>';
$statement2=$db->prepare("update `table` set f2=$new_f2 where f1={$row['f1']}");
$statement2 -> execute();
}
?>
輸出是:
welcomehaha
arrayhaha
的f2
值沒有改變,爲什麼不update 'table' set f2=$new_f2 where f1={$row['f1']}
正在執行?
因爲,你有沒有引用你的價值;他們是字符串。另外,你不檢查錯誤。 –
'...設置f2 = 123haha' ...你的桌子上有一個123haha字段嗎? –