我对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行清空查询”。当我解决这个错误时,我没有得到我期望的结果。
非常感谢每一位帮助!
答案 0 :(得分:0)
注意,你使用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);
?>