0

我在更新数据库列中的值时遇到问题。如果我使用,我可以让它工作

$result1 = mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = 'ruth'");

但是我将所有数据库信息输入到一个数组($rows)中。所以我已经通过以下方式进行了测试:

echo $rows[0][0];

我在浏览器上得到了第一个客户的名字,为什么我不能让它工作呢?我的格式是错误的还是有其他方法可以做到这一点?

if(isset($_GET['test']) && $_GET['test'] =="1")
{
   $result = mysqli_query($con,"SELECT * FROM Customers");

   while($row = mysqli_fetch_array($result))
   {
      $rows[]=$row;

   }

echo $rows[0][0] ." is finished";

$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = $rows[0][0]");
4

1 回答 1

1

您需要用括号表示您的数组并引用您的输入:

$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = '{$rows[0][0]}'");

或连接你的字符串

$result1= mysqli_query($con,"UPDATE Customers SET NextExpectedCut = 222 WHERE Name = '".$rows[0][0]."'");

您可能希望使用准备好的语句而不是生成的查询:http: //php.net/manual/en/mysqli.prepare.php。准备好的语句通常比生成的查询更安全。

于 2013-07-09T01:20:25.947 回答