#php #sql #pdo #insert
#php #sql #pdo #вставить
Вопрос:
У меня в таблице (q) 30 столбцов, я написал это в правильном коде, но я не знаю, где это неправильно.
Здесь я проверяю ошибки:
$formErrors = array();
if(empty($fullname)){$formErrors[] = '<div class="alert alert-danger" > هناك خطأ ما<strong> الاسم</strong></div>'; }
if(empty($email)){$formErrors[] = '<div class="alert alert-danger" >هناك خطأ ما <strong>الايميل</strong></div>'; }
//loop errors
foreach($formErrors as $error){redirecthome("$error");}
// check if not errors procces update
if(empty($formErrors)){
здесь неверный код sql..
$stmt = $con->prepare("INSERT INTO `u926512753_u`.`q` (`username`, `email`, `skill`, `info`, `q1`, `q2`, `q3`, `q4`, `q5`, `q6`, `q7`, `q8`, `q9`, `q10`, `q11`, `q12`, `q13`, `q14`, `q15`, `q16`, `q17`, `q18`, `q19`, `q20`, `q21`, `q22`, `q23`, `q24`, `q25`, `q26`) VALUES (:username, :email, :skill, :info, :q1, :q2, :q3, :q4, :q5, :q6, :q7, :q8, :q9, :q10, :q11, :q12, :q13, :q14, :q15, :q16, :q17, :q18, :q19, :q20, :q21, :q22, :q23, :q24, :q25, ':q26'); ");
$stmt->execute(array(':username' => $fullname, ':email' => $email, ':skill' => $skill, ':info' => $info, ':q1' => $q1, ':q2' => $q2, ':q3' => $q3, ':q4' => $q4, ':q5' => $q5, ':q6' => $q6, ':q7' => $q7, ':q8' => $q8, ':q9' => $q9, ':q10' => $q10, ':q11' => $q11, ':q12' => $q12, ':q13' => $q13, ':q14' => $q14, ':q15' => $q15, ':q16' => $q16, ':q17' => $q17, ':q18' => $q18, ':q19' => $q19, ':q20' => $q20, ':q21' => $q21, ':q22' => $q22, ':q23' => $q23, ':q24' => $q24, ':q25' => $q25, ':q26' => $q26 ));
Комментарии:
1. удалите первую кавычку из ‘: q26’ .
2. это работает .. большое спасибо
Ответ №1:
Как сказано в комментарии выше. Имеется синтаксическая ошибка из-за кавычки, помещенной в VALUES
часть.
:q25, ':q26'); ");
должно стать :q25, :q26'); ");
.