正确的方法来询问PHP中的mysql_num_rows

Ose*_*eer 2 php mysql mysql-num-rows

因为如果没有返回行,mysql_num_rows返回false,最好是这样做:

$query = mysql_query("SELECT id FROM table WHERE something = 'this'"); 
$result = mysql_num_rows($query);

if ($result) { }
Run Code Online (Sandbox Code Playgroud)

或者我应该这样做:

if ($result >= 1) { }
Run Code Online (Sandbox Code Playgroud)

ter*_*ško 5

正确的方法是使用PDO而不是古老的mysql_*功能:

$stmt = $dbh->prepare('SELECT item_id FROM Items WHERE name = :param');
$stmt->bindParam( ':param', $some_name, PDO::PARAM_STR, 127 );
if ( $stmt->execute() )
{
   echo $stmt->rowCount();
   var_dump( $stmt->fetchAll( PDO::FETCH_ASSOC ));
}
Run Code Online (Sandbox Code Playgroud)

  • +1,mysql_*是为MySQL 4及更早版本编写的.是时候刷新了 (2认同)