SELECT COUNT * SQL PHP不起作用

时间:2015-02-21 18:57:05

标签: php mysql select count

我必须搜索邮政编码是否在我的数据库中,我的表名为" test"我的数据库中只有一个表有一列和一行,列名为"代码",并且只有INT 63000的行,我的网站中有一个表单,客户端输入一个代码,它调用.php文件,检查数据库中是否缺少值或存在,我不知道PHP,这对我来说很难...... :(而且我的代码没有&#39工作:(

解决:这是工作代码:

<?php session_start(); ?>
<?php  

if($_POST['code-postal'] === '') { 
        $hasError = true;
} else {
        $variable = $_POST['code-postal'];
        $code = intval($variable);
}

    mysql_connect('xxxxxxxxx', 'xxxxxxxxxxxx', 'xxxxxxxxxxxx')
or die("I cannot connect to the database because: " . mysql_error());   

mysql_select_db('xxxxxxxxxx');  

$code = mysql_real_escape_string($code);
$sql = "SELECT COUNT(*) AS total_count FROM test WHERE codes='$code'"; 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

$data = mysql_fetch_assoc($req);

if($data['total_count'] == 1) {
    $verif = true;
}
else {
    $verif = false;
}
// on ferme la connexion à mysql 
mysql_close();  
?> 

1 个答案:

答案 0 :(得分:0)

$sql = "SELECT COUNT(*) AS total_count FROM test WHERE codes='$code'"; 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

$data = mysql_fetch_assoc($req);

if($data['total_count'] == 1) {
    $verif = true;
}
else {
    $verif = false;
}

这是工作代码。

mysql_query将返回结果集。您需要使用mysql_fetch_assoc函数从中检索数据。

我猜你将来会在表中有更多的行,因为正如你在表中提到的那样,你只有一个表有一列和一行,那么就不需要数据库,你可以直接比较值。