2014-09-10 2 views
0

Я нашел много ответов о том, как вставить данные формы в mysql с помощью PDO, также я нашел несколько ответов, связанных с вставкой данных из массива вроде this one, но на самом деле моя проблема связана с третий вопрос в моей форме, для которых я не уверен, если я написал запрос в правильном путибезопасная вставка данных формы, содержащих массивы в базу данных mysql

Это мой код, но он дает мне эту ошибку:

PHP Parse error: syntax error, unexpected ';' in line ... (the line related to insert statement)

<?php 
session_start(); 

if(isset($_POST['submit'])) 
{ 
$_SESSION['q1'] = $_POST['q1']; 
$_SESSION['q2'] = $_POST['q2']; 
$_SESSION['q3'] = implode(',', $_POST['genre']); 

$q1 = mysql_real_escape_string($_SESSION['q1']); 
$q2 = mysql_real_escape_string($_SESSION['q2']); 
$q3 = mysql_real_escape_string($_SESSION['q3']); 

$conn = new PDO('mysql:dbname=Application;host=localhost;charset=utf8', 'user', 'xxxx'); 
$conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$stmt = $conn->prepare('INSERT INTO test (q1, q2, q3) VALUES (:q1, :q2, :q3)'); 
$stmt->execute(array(':q1' => $q1,':q2' => $q2,':q3' => ".$q3.")); 
} 

catch(Exception $e) { 
    echo 'Exception -> '; 
    var_dump($e->getMessage()); 
    } 

header('Location: Thankyou.php'); 
    exit; 
} 
?> 

ответ

1

Прежде всего Дон» t смешивать mysql с PDO, также использовать try с исключением catch и

изменение

$stmt->execute(array(':q1' => $q1,':q2' => $q2,':q3' => ".$q3.")); 

в

$stmt->execute(array(':q1' => $q1,':q2' => $q2,':q3' => $q3)); 
+0

Спасибо за вашу помощь, но я все еще получаю ту же ошибку :( – mOna

+0

Mona, я могу поспорить, что этот код является работоспособным. У вас ошибка в другом месте. Просто положите 'exit' после выполнения и увидите, что значения идут в db или нет. –

+0

soryy Я просто вижу строку, которую вы написали о не смешивании PDO с mysql. Я читаю, как делать эти строки с PDO, тогда я попробую еще раз и сообщит вам, спасибо – mOna

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