2016-12-04 4 views
-1

У меня возникли проблемы с моим PHP-кодом. Я пытаюсь вставить новую строку в таблицу gebruikers. Я использую JSON API для отправки данных из моего приложения Android C# на сервер. Выполнение кода возвращает ошибку invalid request.PHP mysqli insert return error неверный запрос

PHP:

function registerUser($api_data) 
{ 

// connection 
$servername = "xxx"; 
$username = "xxx"; 
$password = "xxx"; 
$database = "test"; 

$mysqli = new mysqli($servername, $username, $password, $database); 

//check connection 
if(mysqli_connect_errno()) 
{ 
    API_Response(true, 'connection error'); 
} 

$register_data = json_decode($api_data); 

$leerlingnummer = intval($register_data->leerlingnummer); //passed as string, int in database 
$wachtwoord = $register_data->wachtwoord; //string 
$email = $register_data->email; //string 

$result = $mysqli->query("INSERT INTO `gebruikers` (`Leerlingnummer`, `Wachtwoord`, `Email`) VALUES ({$leerlingnummer}, {$wachtwoord}, {$email})"); 

if ($result == false) 
{ 
    API_Response(true, "{$mysqli->error}"); 
} 

else 
{  
    API_Response(false, 'SUCCESS'); 
} 

$mysqli->close(); 
} 

база данных выглядит следующим образом: database layout

+2

вы должны предоставить сообщение полный конец точной ошибки –

+0

'$ wachtwoord' и' $ email' являются строками, поэтому они должны быть заключены в кавычки -> '..., '{$ wachtwoord}', '{$ email}')"); ' – Sean

+0

@Sean на самом деле они скорее должны быть параметризованы. Но если это синтаксическая ошибка в запросе, он должен, предположительно, получить но он получает что-то другое. –

ответ

-1

Вы должны процитировать ваши данные в запросе вставки.

... VALUES ('{$email}','{$other}') 
+0

Они должны, но это не единственная проблема. –

0

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

Котировки, рекомендованные Шон и Фусо, были необходимы позже, хотя так спасибо за это.

Проблема решена, извините за растрату часть своего времени:/

Смежные вопросы