2014-02-08 4 views
0

У меня есть эта форма. Я хотел бы сохранить данные в моей базе данных. Однако это не так, и нет журнала ошибок. Я был бы очень признателен за помощь, поскольку это должно произойти через 2 дня, и я пробовал на прошлой неделе или около того.Я не могу хранить данные в MySQL

<form enctype="multipart/form-data" action="preview.php" method="post" class="f"> 
       <p> 

       <p> 
          <p><label for="name">Teacher's Name:</label> 
           <input type="text" style="font-family:Gloria Hallelujah" size="35" name="name" id="name" autofocus required></p> 
          <p><label for="name">Title:</label> 
           <input type="text" style="font-family:Gloria Hallelujah" size="35" name="title" id="title" autofocus required></p> 
          <p><label for="done">Done By:</label> 
           <input type="text" style="font-family:Gloria Hallelujah" size="35" name="done" id="done" required></p> 
          <p><label for="no">Class:</label> 
           <input type="text" style="font-family:Gloria Hallelujah" size="15" name="class" id="no" required></p> 
          <p><label for="sch">School:</label> 
           <select name="sch"> 
            <option value="seg">School of Engineering (SEG)</option> 
            <option value="sit">School of Information Technology (SIT)</option> 
            <option value="sdn">School of Design (SDN)</option> 
            <option value="sbm">School of Business Management (SBM)</option> 
            <option value="shs">School of Health Sciences (SHS)</option> 
            <option value="scl">School of Chemical & Life Sciences (SCL)</option> 
            <option value="sidm">School of Interactive and Digital Media (SIDM)</option> 
           </select> 

              <p><label for="msg">Show your Gratitude! :</label> 
          <textarea class="tarea" maxlength="3000" cols="38.5" rows="6" name="comments" placeholder="Enter Message here..." required></textarea> 
          <p class="limit">Char limit: 3000 chars.</p> 
         </p> 

И он переходит к preview.php, где предполагается хранить данные. Команда

<?php 
include "mysqli.connect.php"; 
include "fbmain.php"; 

$sql = "INSERT INTO table(teacherName, title, doneBy, studentClass, school, message)VALUES ('$_POST[name]','$_POST[title]','$_POST[done]','$_POST[class]','$_POST[comments]') where  facebookId = '".$me['id']."'"; 
+1

удалить, где условие из запроса на вставку – PravinS

+0

например. '{$ _POST [' name ']}', но см. О sql-инъекциях и подготовленных инструкциях - oh, и это тоже – Strawberry

+0

Будьте очень осторожны при использовании $ _POST [name] непосредственно в sql из-за SQL-инъекций http: // stackoverflow. com/questions/332365/how-do-the-sql-injection-from-the-bobby-tables-xkcd-comic-work – malta

ответ

0

INSERT не нужно WHERE пункт.

P.S: Вы можете быть открыты до SQL Injection.

+0

удалил его. но все еще не работает. – Exclusified

+1

Уважаемая Alireza, это Error Reporter для Mysqli 'if (mysqli_connect_errno()) { echo mysqli_connect_error(); exit(); } ' –

+0

@ M.Eskandari thanks;) –

0
('$_POST[name]','$_POST[title]','... 

Изменить на:

('{$_POST[name]}','{$_POST[title]}','... 


это лучше
см http://ir1.php.net/mysqli_query и проверить базу данных и проверить WHERE Структуры
Вы можете отобразить ошибки и исправить их, поместить этот код после запроса

if (mysqli_connect_errno()) { 
    echo mysqli_connect_error(); 
    exit(); 
} 
+0

Изменено, но это не сработало. Я также попытался отобразить эту ошибку, но ошибки не было. – Exclusified

+0

"Alireza сказал:" 'где facebookId = '". $ Me [' id ']. "' Недопустимо Struct For INSERT !!! –

+0

Yeap, я уже вынимал его. – Exclusified

0

$ _POST [имя] не то же самое, как $ _POST [ 'имя'], $ _POST [название] не то же самое, как $ _POST [ 'название'] и т.д.

Вместо:

$sql = "INSERT INTO table(teacherName, title, doneBy, studentClass, school, message)VALUES ('$_POST[name]','$_POST[title]','$_POST[done]','$_POST[class]','$_POST[comments]') where  facebookId = '".$me['id']."'"; 

попробовать

$name = $_POST['name']; 
$title = $_POST['title']; 
$done = $_POST['done']; 
$class = $_POST['class']; 
$comments = $_POST['comments']; 

$sql = "INSERT INTO table(teacherName, title, doneBy, studentClass, school, message)VALUES ('{$name}','{$title}','{$done}','{$class}','{comments}') where  facebookId = '".$me['id']."'"; 

Но прежде всего, чтобы заставить его работать!

Это не рекомендуется делать это. Вы должны сделать это с параметризованными запросами ... http://forum.codecall.net/topic/44392-php-5-mysqli-prepared-statements/

+0

Все еще не работает .. Я действительно не понимаю, почему. – Exclusified

+0

Каковы значения, заданные в переменных + значение $ me ['id']? – bestprogrammerintheworld

+0

Извините, но я очень новичок в PHP.Я не совсем понимаю ваш вопрос. – Exclusified

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