Php 页面赢得';MySQL查询返回后是否加载?
我有一个简短的问题,对我来说没有什么意义。我对MySQL和PHP有点陌生,所以我可能只是缺少了一些东西。这是我的密码:Php 页面赢得';MySQL查询返回后是否加载?,php,mysql,mysqli,Php,Mysql,Mysqli,我有一个简短的问题,对我来说没有什么意义。我对MySQL和PHP有点陌生,所以我可能只是缺少了一些东西。这是我的密码: $conn = new mysqli('localhost', 'Josh', '**********', '********'); if ($conn->connect_error) die('Connection failed: ' . $conn->connect_error); $result = $conn->query('SELECT coun
$conn = new mysqli('localhost', 'Josh', '**********', '********');
if ($conn->connect_error)
die('Connection failed: ' . $conn->connect_error);
$result = $conn->query('SELECT count(*) as cnt FROM users WHERE id = 1');
$f = $result->fetch_array();
if ($f->cnt == 0) {
echo 'doesn\'t exist';
} else if ($f->cnt == 1){
echo 'does exist';
}
如您所知,这将检查表中是否存在id
。如果存在,则回显“确实存在”
,否则回显“不存在”
。然而,我有一个小问题。每当我将id=1
替换为不存在的id
时,它会立即加载并回显“不存在”
。但是,当我使用表中确实存在的id时,页面会加载,但仍然回显“不存在”
有人能帮我吗
谢谢,,
Josh由于id是一个整数,我们可以用以下方式编写查询:
$result = $conn->query('SELECT id FROM users WHERE id = 1');
if ($result->num_rows == 0) {
echo 'doesn\'t exist';
} else {
echo 'does exist';
}
我修改过了,试试看
$result = $conn->query('SELECT count(id) as cnt FROM users WHERE id = 1'); // or count(*)
$f = $result->fetch_object(); // or use fetch_array(),fetch_assoc() [Search the diff b/w them]
if ($f->cnt == 0) {
echo 'doesn\'t exist';
} else {
echo 'does exist';
}
非面向对象方法
$conn = mysqli_connect('localhost', 'Josh', '**********', '********');
if (mysqli_connect_errno())
die('Connection failed: ' . mysqli_connect_error);
$result = mysqli_query($conn,'SELECT count(*) as cnt FROM users WHERE id = 1');
$f = mysqli_fetch_array($result); // or mysqli_fetch_assoc($result)
echo $f['cnt'];
if ($f['cnt'] == 0) {
echo 'doesn\'t exist';
} else if ($f['cnt'] == 1){
echo 'does exist';
}
这修复了页面加载错误,但现在它没有响应任何内容。您是否尝试了
count(*)
?。。另外,首先在phpmyadmin中测试您的查询。以下是phpmyadmin中显示的内容,是的,我尝试了count(*)
,但没有成功。这是您通过查询应该得到的正确结果。如果结果存储在$f
中,请尝试第2行中注释中提到的获取结果的不同功能,方法是在if语句之前回显它<代码>回声$f->cnt代码>。。。。还要检查你的数据库连接。嗯,这没有解决问题。上面的解决方案发生了什么?你能解释一下以上代码出现的问题吗?你是指你的补丁还是你上面的人?在您的修复中,出现了相同的问题,似乎没有任何变化(当记录确实存在时,页面将不会加载,否则它将加载并回显不存在),我希望您可以使用以下内容检查连接是否已创建:if($conn->connect_error){die('connect error:'。$conn->connect_error);}如果连接成功创建,那么我觉得结果肯定会出现。连接已创建