У меня есть интересная проблема.num_rows не работает pdo, mysqli, всегда возвращается 0
// в ПДО с функцией -> не работает
function UserIsExist($name)
{
global $db;
$stmt = $db->prepare("SELECT id FROM tarskereso_users WHERE email = '$name' LIMIT 1");
$stmt->execute();
if ($stmt->fetchColumn() == 1) return 1;
else return 0;
}
// с MySQLi -> не работает
function UserIsExist($name)
{
global $db;
$stmt = $db->prepare("SELECT id,email FROM tarskereso_users WHERE email = ? LIMIT 1");
$stmt->bind_param('s', $name);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows == 1)
return 1;
else
return 0;
$stmt->close();
}
// В register.php
... other ..
if(UserIsExist($user) == 1)
$error_msg = "Is Exist";
else
{
$birthdate = $year.'.'.$month.'.'.$day;
CreateUser($user,$pass,$birthdate,$sex);
$error_msg = 'Success';
}
Итак, с функцией не работает, я стараюсь:
$stmt = $db->prepare("SELECT id,email FROM tarskereso_users WHERE email = ? LIMIT 1");
$stmt->bind_param('s', $name);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0)
... other ...
else
echo 'isnt exist...';
$stmt->close();
, но не работает, то num_rows всегда возвращает 0. И учетную запись в базе данных, созданной успешно
Похоже, что ваш запрос ищет электронную почту, но вы передаете имя своей функции. Может ли это быть проблемой? – Maximus2012
Вы видели это? http://stackoverflow.com/questions/2700621/php-pdo-num-rows – Dallin
Вы выполнили 'var_dump()' всех задействованных переменных, включая переменные соединения с базой данных? – jeroen