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