php
  • database
  • 2011-12-28 14 views 0 likes 
    0

    私はここに奇妙なことがあります。私は自分のデータベースに値を挿入しようとしていますが、それは何らかの理由で機能しません。私はこのコードを持っている:dbに値を挿入できません

    PHP

    <input type='file' name='images[]' /> 
    <input type="text" name="newproject_name" id="tags"/> 
    <input type='text' name='order[]' value='$b' /> 
    
    $project   = new Project(); 
    $project->photo  = $_FILES['images']['name'][$key]; 
    $project->order  = $_POST['order'][$key];    
    $projectnaam  = $_POST['newproject_name']; 
    
    if($project->createProject($_DB)) { 
        echo "OK"; 
    } else { 
        echo "NOT OK"; 
    } 
               } 
    

    FUNCTION

    class Project { 
        public function createProject($db) { 
         $sql = "INSERT INTO tblProject (
          project, 
          photo, 
          order) // If you remove this line, the function is working 
         VALUES(
          '".$db->escape($this->project)."', 
          '".$db->escape($this->photo)."', 
          '".$db->escape($this->order)."' // If you remove this line, the function is working 
          )"; 
         return $db->insert($sql); 
        } 
    } 
    

    奇妙なことは、私はorder -linesを削除すると、機能がうまく働いている、です。私は間違っていることを本当に知りません...

    +0

    クエリ 'EXPLAIN tblProject'を実行した結果はどうなりますか? –

    +1

    '$ sql'変数をechoしてDBMSで直接実行しようとしましたか? – naivists

    +1

    mysqlエラーはどうですか? – zerkms

    答えて

    6

    ORDERは予約語です。あなたは、列名を中心にバッククォートを使用する場合は、良いことがあります:あなたは位置やdisplay_orderするための列名を変更

    $sql = "INSERT INTO tblProject (
         `project`, 
         `photo`, 
         `order`)  
        VALUES(
         '".$db->escape($this->project)."', 
         '".$db->escape($this->photo)."', 
         '".$db->escape($this->order)."' 
         )"; 
    
    +0

    ありがとう!それを確認しない私の愚かな!再度、感謝します! – Michiel

    0

    私は示唆しています。

    +0

    うん、私はやった:-)) – Michiel

     関連する問題

    • 関連する問題はありません^_^