2016-05-25 2 views
2

Я попытался вставить несколько значений в базу данных, но это не сработает. Он показывает ошибку.PHP - ошибка ввода значений: проверьте версию SQL

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '','[email protected]')' at line 1

Мне нужно что-то сделать. Итак, вы можете помочь.

Часть кода PHP является:

$reason= $_GET['reason'];  
$option= $_GET['option']; 
$for= $_GET['category']; 
$approved= $_GET['approved']; 
$before= $_GET['before']; 
$username= $_SESSION ["username"]; 
    $myquery="INSERT INTO request (`serial number`, `request date`, `request for category`, `request`, `reason`, `approved by`, `username`) VALUES ('',NOW(),'$for','$option','$reason',$approved','$username')"; 
    $query = mysql_query($myquery); 

    if (! $query) { 
        echo mysql_error(); 
        die; 
    } 
+0

эхо запрос и непосредственно в PHPMyAdmin и ищет ошибки – Saty

+0

Echo запроса, а затем проверить, что вы пишете неправильно. –

+1

Ваш недостающий котировки до $ одобрен – Richard

ответ

1

Single Quote отсутствует @ $ утвержден "

 $myquery="INSERT INTO request (`serial number`, `request date`, `request for category`, `request`, `reason`, `approved by`, `username`) VALUES ('',NOW(),'$for','$option','$reason','$approved','$username')"; 
1

Это потому, что вы пропустили цитату перед $ утвержденной переменной.

Попробуйте это:

$reason= $_GET['reason'];  
$option= $_GET['option']; 
$for= $_GET['category']; 
$approved= $_GET['approved']; 
$before= $_GET['before']; 
$username= $_SESSION ["username"]; 
$myquery= "INSERT INTO request (`serial number`, `request date`, `request for category`, `request`, `reason`, `approved by`, `username`) VALUES ('',NOW(),'$for','$option','$reason','$approved','$username')"; 
    $query = mysql_query($myquery); 

    if (! $query) { 
        echo mysql_error(); 
        die; 
    } 
1

Во-первых, использовать PDO:

$stmt = $con->prepare("INSERT INTO request (`serial number`, `request date`, `request for category`, `request`, `reason`, `approved by`, `username`) VALUES (?, NOW(), ?, ?, ?, ?, ?)"); 
$stmt->execute([ 
    '', 
    $for, 
    $option, 
    $reason, 
    $approved, 
    $username 
]); 

Во-вторых, в:

('',NOW(),'$for','$option','$reason',$approved','$username')"; 

Изменение:

',$approved',' 

вот почему:

','$approved',' 
+0

Я просто попрошайка. Я узнаю PDO Later. Благодарю. –

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