所以我使用php更新我的mysql数据库。下面是UPDATE的结尾,如果我有一个字符串而不是echo $row[embedcode]");
它工作正常,这个echo设置页面上的数据就好了检索正确的值,但在这个UPDATE中它不起作用。
...WHERE `embedcode` = echo $row[embedcode]");
我尝试过使用“。”围绕它并在其周围添加自己的php标签,但我不确定需要做什么。
答案 0 :(得分:6)
请使用:
...WHERE `embedcode` = " . $row[embedcode]);
不需要echo
。
作为旁注,您应该参数化或至少清理进入MySQL查询的任何字符串,以防止SQL注入和其他不良内容。
答案 1 :(得分:1)
" ... WHERE `embedcode=` '" .$row[embedcode]. "';");
答案 2 :(得分:0)
WHERE
embedcode = . $row[embedcode]);
将设置值。
sql语句中不需要echo。 echo用于显示从php到webbrowser的内容。
答案 3 :(得分:0)
你不使用echo,也许它应该是:
...WHERE `embedcode=` . $row[embedcode]");
如果$row[embedcode]
是一个字符串,则必须在其周围添加引号。
答案 4 :(得分:0)
比如说......
("UPDATE `tblProfile` SET `profilename` = 'abc' WHERE `embedcode` = '".$row['embedcode']."'");
答案 5 :(得分:0)
为防止SQL注入,如果您使用的是PDO或MySQLi,则可以将该值作为参数传递。
例如,
$stmt = $dbConnection->prepare('...WHERE `embedcode` = :embedcode');
$stmt->execute(array(':embedcode' => $row[embedcode]));
有关详细信息,请参阅this。