Пожалуйста, посмотрите этот ответ, чтобы увидеть основную проблему .
Как решить следующее сообщение об ошибке в подготовленном утверждении?
У меня есть index.php, в который я помещаю данные через множество обработчиков. Следующее сообщение об ошибке появляется по следующему URL-адресу, который является URL-адресом после формы входа.
http://localhost/codes/index.php?ask_question&email=masi.masi@gmail.com&passhash_md5=202cb962ac59075b964b07152d234b70
Этот вопрос основан на этой теме . Я получаю ту же ошибку, что и Даниил:
Warning: pg_prepare() [function.pg-prepare]: Query failed: ERROR: prepared statement "query11" already exists in /var/www/codes/handlers/handle_login_status.php on line 6
Prepared statement failed.
в коде handle_login.php
$dbconn = pg_connect("host=localhost port=5432 dbname=masi user=masi password=123");
$result = pg_prepare($dbconn, "query11", "SELECT passhash_md5 FROM users
WHERE email=$1;");
$passhash_md5 = pg_execute($dbconn, "query11", array($_POST['email']));
Я изменил handle_login.php по совету Даниила на
$dbconn = pg_connect("host=localhost port=5432 dbname=masi user=masi password=123");
try{
$result = pg_prepare($dbconn, "query11", "SELECT passhash_md5 FROM users
WHERE email=$1;");
if($result){
$result->rayPrepared['query11'] = true; // I changed $this to $result
}else{
throw new Exception('Prepared statement failed.');
}
}catch(Exception $e){
echo $e->getMessage();
}
$passhash_md5 = pg_execute($dbconn, "query11", array($_POST['email']));
Я все еще получаю то же сообщение об ошибке.