Я работаю над скриптом входа с подготовленными инструкциями в процедуре PHP процедурного mysqli. Вот мой текущий код:Объект, возвращаемый функцией mysql_num_rows()
<?php
include "/ssincludes/functions.php";
$host = HOST;
$username = USER;
$password = PASSWORD;
$db_name = DATABASE;
$table = TABLEU;
//These includes and constants are fine I checked them all
$con = mysqli_connect($host, $username, $password, $db_name);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$myusername='test';
$mypassword='password1';
$sql="SELECT * FROM $table WHERE user_name=? and password=?";
$result=mysqli_prepare($con, $sql);
mysqli_stmt_bind_param($result, 'ss', $myusername, $mypassword);
mysqli_execute($result);
mysqli_stmt_fetch($result);
$row_cnt = mysqli_num_rows($result);
echo $row_cnt;
?>
Ошибка возвращаемый: Внимание: mysqli_num_rows() ожидает параметр 1, чтобы быть mysqli_result, данный объект
Я думал, что я вынул все экземпляры OO PHP в моем сценарии? Кроме того, я понимаю, что это может означать мой запрос неверен, поэтому я побежал на MySQL в базе данных, и все, кажется, хорошо там:
Так что я теряюсь, как к тому, что может быть проблема. Я читал много похожих сообщений (может быть, мне не хватает одного, что точно похоже на мое), и никто, кажется, не справляется с этой проблемой. Я ценю ваше время и помощь.
P.S. Я понимаю проблемы безопасности с помощью текстовых паролей и с использованием пароля 1. Я планирую использовать более эффективные методы обеспечения безопасности, поскольку я создаю это, но я просто хочу сначала подготовить подготовленные заявления.
Это позаботилось об ошибке, спасибо! –
Я также должен добавить, что ваш помог мне понять лучший синтаксис, который фактически сравнивал вход с БД и заставлял его делать то, что мне нужно. Я использовал 'mysqli_stmt_init',' mysql_stmt_prepare', а также 'mysql_stmt_store_result', который должен был быть до того, как я получил количество строк. После этого количество строк не было равным нулю! Большое спасибо! –
Рад, что он работает сейчас! –