2015-07-19 231 views
-1

我想要做一个座位预约系统,我需要通过MySQL检查座位X是否可用。如果分配了名称,则打印“对不起,此座位已被占用”,否则如果没有分配名称(默认为0),则打印“可用!”。如果数据库行= null,打印一些东西,打印其他东西

这是我的尝试:

<?php 
$link = mysql_connect(localhost, root, root); 
mysql_select_db(room); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 

$result = mysql_query("SELECT name FROM seats WHERE seat = 'A1'"); 
if ($result == '0') { 
     echo 'available!'; 
    } else { 
     echo 'Sorry, this seat is already taken.'; 
    } 
} 
?> 
+2

您需要从查询中获取数据。 – user2182349

+1

你的第二条语句...在语法上与第一条语句相比较 – Rizier123

+0

mysql_query(“SELECT name FROM seats WHERE seat ='A1'”); – lipe0010

回答

1

你应该考虑从mysql_移开*功能。无论哪种方式,你应该做这样的事情:

http://php.net/manual/en/function.mysql-num-rows.php

$result = mysql_query("SELECT name FROM seats WHERE seat = 'A1'"); 
if (mysql_num_rows($results) == 0) { 
    echo 'available!'; 
} else { 
    echo 'Sorry, this seat is already taken.'; 
} 

你还要在年底额外}

0

试试这个:

$result = mysql_query("SELECT name FROM seats WHERE seat = 'A1'"); 
    if (mysql_num_rows($result)==0) { 
     echo 'available!'; 
    }else { 
      echo 'Sorry, this seat is already taken.'; 
     } 
+0

仍然有语法错误 – ElefantPhace

+0

从哪个代码行? – NorthernLights

+0

只需再看一遍。你会看到它 – ElefantPhace

0

试试这个:

<?php 
$link = new mysqli("localhost", "root", "root", "room"); 
if ($link->connect_errno) 
{ 
    die('Could not connect: ' . $mysqli->connect_error); 
} 

if (($result = $link->query("SELECT name FROM seats WHERE seat = 'A1'") && $result->num_rows) 
{ 
    echo 'Sorry, this seat is already taken.'; 
} 
else 
{ 
    $result->close(); 
    echo 'available!'; 
} 

这是使用新的MySQLi library,应该正确检查结果是否与任何行返回。检查$result->num_rows可能不是必需的,因为如果没有行被返回,$result应该是空的。

+1

新的MySQLi库似乎比旧版本更少逻辑和友好! – lipe0010

+0

同意!它也更安全,更快速。如果你已经使用了'mysql_ *'一段时间了,可能会有点混淆,但它是值得的! – Will