正在运行更新查询,但不更新表php
下面是我在for循环中使用的代码,该循环运行10次:正在运行更新查询,但不更新表php,php,mysql,sql-update,Php,Mysql,Sql Update,下面是我在for循环中使用的代码,该循环运行10次: $query = "UPDATE fblikes SET likes = '$var[$i]' WHERE link = '$web[$i]'"; if(mysql_query($query)) { echo $query; } else { echo mysql_error(); } 代码运行时,我确实得到ok打印了10次,但表中没有任何变化。我还检查了两个数组,即$va
$query = "UPDATE fblikes SET likes = '$var[$i]' WHERE link = '$web[$i]'";
if(mysql_query($query))
{
echo $query;
}
else
{
echo mysql_error();
}
代码运行时,我确实得到ok代码>打印了10次,但表中没有任何变化。我还检查了两个数组,即$var
和$web
,它们包含正确的值
我觉得这个问题没问题。以下是我得到的(10个输出之一):UPDATE fblikes SET likes='5',其中link='xxxxxxx.com/xxxx/iet.php'
我不知道问题到底出在哪里,要想弄清楚,你应该打印$query
的值,然后告诉我们你得到了什么。更多信息,请告诉我们调用mysql\u query()
后受影响的行的值
但是,您的代码实现了一些错误的模式
首先,您没有逃逸$var[$i]
和$web[$i]
,这可能会产生两种影响:
- 您可能会产生错误的查询
- 您没有对数据库的输入进行清理,从而使您的应用程序面临安全问题
此外,您还可以执行几个类似的查询,这些查询只在提供的输入上有所不同
对于这两个问题,解决方案都是使用预先准备好的语句,这将为您提供更多的控制、安全性和性能。考虑放弃<代码> MySqL**<代码>函数,切换到<代码> MySqLI**<代码>或<代码> PDO/COD>,并阅读有关./P>问题:代码>链接= '$Web[$i] ] ,你应该正确地避开那个变量。为什么不打印查询本身,而不是毫无意义的“OK”“?@MahmoudGamal你说的逃逸这个变量是什么意思?我不明白mysql\u real\u escape\u string()
@YourCommonSense我觉得这个查询很好。以下是我得到的(10个输出之一):更新fblikes集likes='5',其中link='