Ошибка в запросе к SafeMySQL
Не могу понять, где ошибка? При выполнении запроса получаю 500 Internal Server Error
require('mysql.class.php');
$opts = array(
'user' => 'admin',
'pass' => 'PASSWORD',
'db' => 'admin_database'
);
$db = new SafeMySQL($opts);
$user_data = array();
$user_data['network'] = 'manual';
$user_data['name'] = $_GET['name'];
$user_data['email'] = $_GET['email'];
$user_data['sex'] = $_GET['sex'];
$user_data['ip'] = $_GET['ip'];
$user_data['clickID'] = $_GET['c'];
$user_data['city'] = $_GET['city'];
$user_data['country'] = $_GET['country'];
$user_data['user_lang'] = $_GET['lang'];
$user_data['age'] = $_GET['age'];
$user_data['token2'] = $_GET['t2'];
$user_data['token3'] = $_GET['t3'];
sendUserToDataBase($user_data, $db);
function sendUserToDataBase($data, $db) {
$isExsist = $db->getOne('SELECT email FROM users WHERE email = ?s',$data['email']);
if($isExsist === false) {
$sql = "INSERT INTO users SET name=?s, network=?s, email=?s, city=?s, country=?s, user_lang=?s, sex=?s, age=?s, ip_adress=?s, token2=?s, token3=?s";
$db->query($sql,$data['name'], $data['network'], $data['email'], $data['city'], $data['country'], $data['user_lang'], $data['sex'], $data['age'], $data['ip'], $data['token2'], $data['token3']);
return true;
} else {
return false;
}
}
Ответы (2 шт):
Автор решения: UKRman
→ Ссылка
Добавь error_reporting(E_ALL ^ E_NOTICE); верху или включи отображение ошибок в php.ini
error_reporting(E_ALL ^ E_NOTICE);
require('mysql.class.php');
или об горни код в try ... catch
try {
$db = new SafeMySQL($opts);
$user_data = array();
$user_data['network'] = 'manual';
$user_data['name'] = $_GET['name'];
$user_data['email'] = $_GET['email'];
$user_data['sex'] = $_GET['sex'];
$user_data['ip'] = $_GET['ip'];
$user_data['clickID'] = $_GET['c'];
$user_data['city'] = $_GET['city'];
$user_data['country'] = $_GET['country'];
$user_data['user_lang'] = $_GET['lang'];
$user_data['age'] = $_GET['age'];
$user_data['token2'] = $_GET['t2'];
$user_data['token3'] = $_GET['t3'];
sendUserToDataBase($user_data, $db);
} catch (\Throwable $e) {
var_dump($e->getMessage());
}
Один из способов поможет тебе увидеть ошибку.
Автор решения: Алексей Юрченко
→ Ссылка
а не проще ли было сделать
$sql = "INSERT INTO users SET ?u";
$db->query($sql,$data);