2015-02-20 3 views
-1

Я получаю эту ошибку:Анализировать ошибка: синтаксическая ошибка, неожиданный ««»в [место] в строке 7

Анализировать ошибка: синтаксическая ошибка, неожиданный«»» в D: \ сервер \ WT-NMP \ WWW \ myproj1 \ insert.php в строке 7

с помощью этого кода:

<?php 
$uname = $_REQUEST['uname']; 
$msg = $_REQUEST['msg']; 

$con = mysqli_connect('localhost','root','','chatbox'); 

mysqli_query($con"INSERT INTO logs (`username` , `msg`) VALUES ('$uname','$msg')"); 

$result1 = mysqli_query($con"SELECT * FROM logs ORDER by id DESC"); 

while($extract = mysqli_fetch_array($result1)){ 
     echo "<span class='uname'>" . $extract['username'] . "</span>: <span class='msg'>" . $extract['msg'] . "</span><br>"; 
    } 




?> 

+0

Итак, строка 7 начинается с 'mysqli_query ($ con" INSERT'? – verdammelt

ответ

1

Изменение этого:

$result1 = mysqli_query($con"SELECT * FROM logs ORDER by id DESC"); 

к этому:

$result1 = mysqli_query($con, "SELECT * FROM logs ORDER by id DESC"); 

То же самое для вставки.

Кроме того, mysqli_fetch_array должен быть mysqli_fetch_assoc.

И пока мы на нем, у вас есть проблема с встраиванием sql со вставкой. Вы должны использовать подготовленный оператор и связать эти параметры. Простое использование данных, предоставленных пользователем в вашем SQL, никогда не является хорошей идеей.

+1

OMG! Большое вам спасибо! Я пытался понять это навсегда! –

+0

У вас есть 5 ошибок в этом коде , продолжайте подключать эти отверстия. – Halfstop

+0

@ LightningXD можете ли вы пометить мой ответ как правильный? – Halfstop

1

Во-первых, вам не хватает запятой в операторах SQL Изменить это:

mysqli_query($con"INSERT INTO logs (`username` , `msg`) VALUES ('$uname','$msg')"); 

на это:

mysqli_query($con, "INSERT INTO logs (`username` , `msg`) VALUES ('$uname','$msg')"); 

И изменить это:

$result1 = mysqli_query($con"SELECT * FROM logs ORDER by id DESC"); 

К этому:

$result1 = mysqli_query($con, "SELECT * FROM logs ORDER by id DESC"); 

Вы также должны использовать запросы с параметром, потому что на данный момент ваша вставка открыта для SQL-инъекции.

+0

Великие умы думают одинаково. – Halfstop

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