gpt4 book ai didi

mysql - SELECT ... INTO 了解其行为

转载 作者:行者123 更新时间:2023-11-29 13:56:34 26 4
gpt4 key购买 nike

有人告诉我,我可以检查 SELECT 语句是否找到具有以下语法的列

$rows = query( "SELECT * FROM tbl WHERE id = idx");
if ( $rows == false )

而且它似乎有效。

无论如何,如果我检查 if ( $rows == 0 ) 它不会返回相同的值。

0false 不应该相同(当然,类型除外)?

当查询没有找到行时返回的实际值是多少?我问这个问题是因为它似乎不是错误的,因为语句 var_dump( $rows === false ) 打印 false..

***编辑:我很抱歉大家,query() 是其他人编写的库中的一个函数,我不知道(我现在从 sql 开始......)。它只是执行一条 SQL 语句,返回结果集中所有行的数组,或者在(非致命)错误(如未找到行)时返回 false。

不过我还有一个小问题。当该函数找不到行时返回 false,因此我是否应该能够使用 if ( $rows === false ) 捕获该行?

为什么 var_dump(false) 不打印出任何内容,而 var_dump(true) 却打印出 1

最佳答案

我不太确定您是否使用简单的 mysql_* 函数、MySQLi 或 PDO,但无论如何 $rows 都不会返回结果行数。它是一个 bool 值/对象,根据查询的成功返回/创建。

$sql = $mysqli->query("SELECT * FROM tbl WHERE id='1'");
if(!$sql->error)
$number_of_rows = $sql->num_rows; // for sure it will output 1

关于mysql - SELECT ... INTO 了解其行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15763607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com