从MySQL中检索SQL语句并在PHP中处理
我已经成功地将许多SQL更新语句保存到MySQL,现在我想检索它们并让PHP处理它们。代码如下 当我回显$query时,我从数据库中得到了正确的SQL语句,但是当我试图处理它们时,我得到了一个错误警告:mysqli_query()[function.mysqli query]:空查询 这对我来说毫无意义,快把我逼疯了!我是否必须对$query执行其他操作,以便PHP能够处理它从MySQL中检索SQL语句并在PHP中处理,php,sql,Php,Sql,我已经成功地将许多SQL更新语句保存到MySQL,现在我想检索它们并让PHP处理它们。代码如下 当我回显$query时,我从数据库中得到了正确的SQL语句,但是当我试图处理它们时,我得到了一个错误警告:mysqli_query()[function.mysqli query]:空查询 这对我来说毫无意义,快把我逼疯了!我是否必须对$query执行其他操作,以便PHP能够处理它 $num_rows = mysqli_num_rows($resultSQL); if ($num_rows &
$num_rows = mysqli_num_rows($resultSQL);
if ($num_rows > 0)
{
while ($row = mysqli_fetch_array($resultSQL))
{
$strSQLupd[] = $row['uSQL'];
}
foreach ($strSQLupd as $query) {
$resultSQLupd = mysqli_query($link,
$query
);
if (!$resultSQLupd)
{
$error = 'Error fetching data: ' . mysqli_error($link);
include 'error.html.php';
exit();
}
}
}
您是否在某处设置了$link的值,以及您在该应用程序中所做的操作是否需要该值?另外,请记住
var\u dump($varname)代码>始终是一个有用的调试工具
foreach ($strSQLupd as $query) {
// put a var_dump below
var_dump($query);
$resultSQLupd = mysqli_query($query
);
if (!$resultSQLupd)
{
$error = 'Error fetching data: ' . mysqli_error($link);
include 'error.html.php';
exit();
}
}
给它一个快照,看看转储到屏幕上的查询字符串。它可能是空的,这就是产生错误的原因。您是否尝试了var_dump($strSQLupd)并查看其设置是否正确?我输入了var_dump并获取字符串(0)”,这显然意味着字符串为空。所以,有两个问题。。。(1) 我该如何解决这个问题;(2)回声为什么起作用?啊哈。。。我发现了问题。和往常一样,它在另一段代码中。我正在检索的数据中有一些空值。所以,echo可以工作,但没有供PHP处理的SQL。var转储有助于发现问题,因此非常感谢;)@用户2042038太棒了!我很高兴它帮助你找到了问题所在。我在开发中一直使用变量转储。当然,这样做并不能代替使用实际的调试器,但这是一种快速获取数据可视化的方法。在我回答的最后一句话中,我建议可能是空查询字符串导致了错误为了我;0