Проверка данных в mysqli
Код:
$mysqli = new mysqli("localhost", "user", "pass", "base");
if (mysqli_connect_errno()) { exit(); }
if ($stmt = $mysqli->prepare("SELECT `name` FROM `users` WHERE `id`= ?"))
{
$stmt->bind_param("s", $code);
$code = "41'";
$stmt->execute();
$stmt->bind_result($name);
$stmt->fetch();
echo $name;
$stmt->close();
}
$mysqli->close();
if (mysqli_connect_errno()) { exit(); }
if ($stmt = $mysqli->prepare("SELECT `name` FROM `users` WHERE `id`= ?"))
{
$stmt->bind_param("s", $code);
$code = "41'";
$stmt->execute();
$stmt->bind_result($name);
$stmt->fetch();
echo $name;
$stmt->close();
}
$mysqli->close();
Какие там параметры стоит проверять на ошибки и фильтровать? А вообще есть разница между обычными запросами
mysqli и с заданными параметрами или вообще с обычным mysql? На этом примере использовано $stmt->fetch(); а $stmt->fetch_assoc(); не работает, так же не работает $stmt->num_rows(); в чем может быть причина?
Если вы про получаемые скриптом, то все, что получаются от пользователя. Проверять на наличие символов, способных исковеркать запроос
Работает только $stmt->fetch(); а $stmt->num_rows(); все время возвращает ноль