Изменена страница подключения к PDO и получен mysql_error ()

Перебирал мой код, чтобы превратить все мои запросы в подготовленные запросы (PDO). Я изменил страницу подключения соответственно. Поскольку я очищал мою страницу функций, я наткнулся на ошибку mysql_error() expects parameter 1 to be resource, integer given указанное в моей функции электронной почты

 email_exists($email){ $query1 = mysql_query("SELECT COUNT(user_id) FROM tempusers WHERE `email` = '$email'") OR die(mysql_error(0)); $email = sanitize($email); return (mysql_result($query1,0)==1)? true : false; } 

Потому что это страница функции, которая означает, что я не могу вызывать переменные на моей странице соединения в сочетании с тем фактом, что я все еще застрял в старых способах запросов, с которыми мне трудно найти этот запрос. Я был бы признателен за любые идеи относительно процесса работы с этим запросом, а также с любыми советами в целом.

Вы должны обрабатывать ошибки в своей функции так же, как вы их обрабатываете везде.

Однако, поскольку это внутри функции, вам необходимо сделать доступным соединение в области действия функции.

Есть несколько способов сделать это, некоторые примеры (от того, что хорошо для лучшего …):

  1. объявите переменную соединения PDO global в вашей функции. Я бы не рекомендовал это в качестве окончательного решения, но он будет работать, пока вы улучшаете ситуацию;
  2. добавьте PDO-соединение в качестве дополнительного параметра в свою функцию. Хотя лучше, чем 1., вам нужно будет изменить все вызовы функций, чтобы включить новый параметр (ы);
  3. refactor to OOP и использовать инъекцию зависимостей, чтобы добавить ваше PDO-соединение к вашему классу / объекту электронной почты.