Ниже приведен код, который отлично работает, однако он использовал mysql_ *, и я больше этого не хочу. Я попытался переделать этот раздел в mysqli, но он не работает. Я могу опубликовать весь свой код, если вы пожелаете, но я уверен, что знаю, где проблема. Ниже приведен код:Переключение с mysql на mysqli
Старый:
public function verifyDatabase()
{
include('dbConfig.php');
$data = mysql_query("SELECT client_id FROM clients WHERE client_email_address = '{$this->_username}' AND client_password = '{$this->_pass_sha1}'");
if(mysql_num_rows($data))
{
list($this->_id) = @array_values(mysql_fetch_assoc($data));
return true;
}
else
{
return false;
}
}
Новое:
public function verifyDatabase()
{
include('dbConfig.php');
$data = $db->prepare("SELECT client_id FROM clients WHERE client_email_address = ? AND client_password = ? LIMIT 1");
$data->bind_param($this->_username, $this->_pass_sha1);
$data->execute();
$data->store_result();
if($data->num_rows)
{
list($this->_id) = @array_values($data->fetch());
return true;
}
else
{
return false;
}
}
Я все еще учусь MySQLi и не совсем готовы к PDO вещи, как я обнаружил, что немного сбивает с толку. Как я уже сказал, весь этот скрипт отлично работает с mysql_ *, но не столько с mysqli. Когда я пытаюсь войти в мою форму, она не отображает никаких ошибок и не выводит ее на следующую страницу, поэтому я знаю ее этот бит, который является вопросом
Что именно не работает? –
Ну, вы также можете избежать подавления ошибок с помощью '@'. – Sammitch
Я предполагаю, что ваше имя пользователя более 16 символов? Новый стандарт позволяет использовать имена пользователей из 16 символов или меньше. – Rottingham