Я нашел много ответов о том, как вставить данные формы в 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;
}
?>
Спасибо за вашу помощь, но я все еще получаю ту же ошибку :( – mOna
Mona, я могу поспорить, что этот код является работоспособным. У вас ошибка в другом месте. Просто положите 'exit' после выполнения и увидите, что значения идут в db или нет. –
soryy Я просто вижу строку, которую вы написали о не смешивании PDO с mysql. Я читаю, как делать эти строки с PDO, тогда я попробую еще раз и сообщит вам, спасибо – mOna