据我了解,使用准备好的语句的好处是可以防止 SQL 注入。
我设法使用 SELECT 和 INSERT 使用准备好的语句构建查询。
但是要达到select count()
, 和我的头撞墙。
PHP手册给出:
if ($result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name")) {
/* determine number of rows result set */
$row_cnt = mysqli_num_rows($result);
printf("Result set has %d rows.\n", $row_cnt);
/* close result set */
mysqli_free_result($result);
}
我也试图用准备好的声明来做到这一点。但也许我不应该?
这就是我正在尝试的:
$boy = 'yes';
$age = 1;
$result = mysqli_prepare ($bdd, 'SELECT boy , age FROM photo WHERE boy = ? AND age= ?' );
mysqli_stmt_bind_param( $result, "si", $boy , $age );
mysqli_stmt_execute( $result );
$row_cnt = mysqli_num_rows( $result );
printf( "Le jeu de résultats a %d lignes.\n", $row_cnt );
但是无论我尝试什么,我总是会遇到相同类型的错误
警告:mysqli_num_rows() 期望参数 1 为 mysqli_result,对象在第 36 行的 C:\wamp\www\page.com\pic.php 中给出