Общая ошибка использования PDO в PHP
Привет,
Я получаю общую ошибку, но не могу найти причину.
Ошибка, которую я получаю, такова:
Исключение pdoexception: кодом sqlstate[HY000]: общая ошибка в /Home/домен.ком/API или авторизоваться.РНР:40
Трассировка стека:
#0 /home/domain.com/api/signin.php(40): PDOStatement->fetch()
#1 {main}ошибка подключения: SQLSTATE[HY000]: общая ошибка
..
Что я уже пробовал:
<?php header("Content-Type: application/json"); if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day } error_reporting(E_ALL); ini_set('display_errors', 1); $email = $_GET["email"]; $salt = $_GET["salt"]; $hash = $_GET["hash"]; $mysql_host = "mysql:host=mysql.domain.com;dbname=myDB"; $mysql_user = "myUser"; $mysql_password = "myPassword"; $mysql_options = array ( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', ); // $mysql_connection; $mysql_connection = new PDO($mysql_host, $mysql_user, $mysql_password, $mysql_options); $mysql_connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); try { $mysql_query = $mysql_connection->prepare('CALL sp_signin(:param_email, :param_salt, :param_hash, :param_ip)'); $mysql_query->bindParam(':param_email', $email, PDO::PARAM_STR); $mysql_query->bindParam(':param_salt', $salt, PDO::PARAM_STR); $mysql_query->bindParam(':param_hash', $hash, PDO::PARAM_STR); $mysql_query->bindParam(':param_ip', $_SERVER['REMOTE_ADDR'], PDO::PARAM_STR); $mysql_query->execute(); $jsonData = array(); while($mysql_row = $mysql_query->fetch()) { $jsonData[] = $mysql_row; } echo json_encode($jsonData, JSON_NUMERIC_CHECK); } catch (PDOException $e) { echo $e; } ?>
Jassim Rahma
Просто чтобы добавить, у меня нет проблем с запуском sp_signin в базе данных с помощью вызова sp_signin, и я получаю правильный результат.