これが私のコードです。
<?php
$a = bacon;
$b = 20;
$c = 30;
$link = mysql_connect('localhost','root','');
mysql_select_db("test", $link);
$sql = "UPDATE share SET price=".
PrepSQL($b) . ", place=" .
PrepSQL($c) . ", time=CURRENT_TIMESTAMP where num=1 and RID=(select IID from ingredient where Ingredient='" . PrepSQL($a) . "')";
mysql_query($sql);
function PrepSQL($value)
{
// Stripslashes
if(get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
// Quote
$value = "'" . mysql_real_escape_string($value) . "'";
return($value);
}
?>
上記のコードではDBテーブルを更新できないことがわかりました。しかし、where条件をwhere num =1およびRID=(Ingredient = 'bacon'の成分からIIDを選択)"に変更すると、すべてが正常に機能します。コードに問題がありますか?どうもありがとうございました。