我尝试从我的SQL表中获取值'entryScans',并根据IF-ELSE的情况将其发送给$output。我做错了什么?
<?php
include ('config.php');
$TicketNo=$_POST["TicketNo"];
$hash=$_POST["hash"];
$sql = "SELECT TicketNo,hash,entryScans FROM `Tickets` WHERE `TicketNo` = '$TicketNo' AND `hash` = '$hash'" or die(mysql_error());
$result = mysql_query($sql);
$row=mysql_num_rows($result);
if($row['entryScans'] = 0){
$output="ok";
}
else if ($row['entryScans'] > 0) {
$output="maybe";
else{
$output="error";
}
print(json_encode($output));
mysql_close();
?>
你在做...
if($row['entryScans'] = 0){
它有 2 个问题,=
是分配,==
是测试等于。 第二部分是您在...
$result = mysql_query($sql);
$row=mysql_num_rows($result);
所以$row
是行数,$result
是查询结果......
所以要检查结果集中的行数
if($row == 0){
等。
更新:
如果要使用列条目扫描的值,则需要将mysql_num_rows()
的调用更改为mysql_fetch_assoc()
,因此
$row=mysql_fetch_assoc($result);
然后,您可以保留其余代码以使用$row['entryScans']
您没有处理结果。您只需获得变量$row
行总数。
您需要通过循环方法处理查询结果。
这是示例
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
if($row['entryScans'] = 0)
{
$output="ok";
}
else if ($row['entryScans'] > 0)
{
$output="maybe";
}
else
{
$output="error";
}
}
希望这对你有用。