我对 xcode 和 php 感到困惑,因为在 iOS 模拟器中运行的完全相同的代码不适用于 iPhone 本身。
php 文件如下所示:
<?php
$con=mysqli_connect("localhost","BLACKEDOUT","BLACKEDOUT","BLACKEDOUT" );
$array = json_decode($_POST["identifier"]);
for($i=0; $i < count($array); $i++)
{
$name = $array[$i][1];
for($j=0; $j < count($array[$i][0]); $j++)
{
$nummer = $array[$i][0][$j];
$query = "SELECT x FROM Z WHERE uniqueID = $nummer";
$dbConn = new PDO('mysql:host=localhost;dbname=BLACKEDOUT', "BLACKOUT", "BLACKEDOUT");
$smt = $dbConn->prepare($query);
$smt->bindParam(1, $phone_num );
$smt->execute();
if($smt->rowCount())
{
$ergebnisArray[] = [$name,$nummer];
}
else
{
}
}
}
echo json_encode($ergebnisArray);
mysqli_query($con, $query) or die ("Could not connect to server");
mysqli_close($con);
?>
在 iOS 模拟器中运行代码时一切正常,但是当我在我的设备上运行它时它说:作为 Xcode 中的响应字符串:“mysqli_query():第 30 行中的空查询”。当我解决该错误时,我也没有得到我期望的结果。
非常感谢您的帮助!
最佳答案
请注意,您混合使用 BLACKOUT 和 BLACKEDOUT,并且您从不使用 $con。另外,请注意您在循环内定义了 $query,因此当它迭代零次时,$query 永远不会被定义,因此不能在 mysqli_query 中使用。
试试这个并返回结果:
<?php
$array = json_decode($_POST["identifier"]);
for($i=0; $i < count($array); $i++)
{
$name = $array[$i][1];
for($j=0; $j < count($array[$i][0]); $j++)
{
$nummer = $array[$i][0][$j];
$query = "SELECT x FROM Z WHERE uniqueID = '".$nummer."'";
$dbConn = new PDO('mysql:host=localhost;dbname=BLACKEDOUT', "BLACKOUT", "BLACKEDOUT");
$smt = $dbConn->prepare($query);
$smt->bindParam(1, $phone_num );
$smt->execute();
if($smt->rowCount())
{
$ergebnisArray[] = [$name,$nummer];
}
else
{
}
}
}
echo json_encode($ergebnisArray);
?>
关于php - mysqli_query() : Empty query in line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33519339/