2012-10-07 30 views
1

我對PHP很陌生,對MySQLi和都很陌生我試圖向包含5個變量的數據庫插入一行。調用一個非對象的成員函數query()

if($_POST['submit']) { 
      $title = mysqli_escape_string($_POST['title']); 
      $content = $_POST['content']; 
      $author = $_SESSION['fullname']; 
      $publishedtime = time(); 
      $pageID = $_POST['pageid']; 
      $connection = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); 

      if ($connection->errno) { 
       printf("Connection failed: %s\n", $connection->error); 
       exit(); 
      } 

      $author = $_SESSION['fullname']; 
      $publishedtime = time(); 
      $q = "INSERT INTO posts (title, content, author, publishedtime, pageID) VALUES ('".$title."', '".$content."', '".$author."', '".$publishedtime."', '".$pageID."')"; 

      if (!$dbc->query($q)) { 
       echo "INSERT failed: (" . $dbc->errno . ") " . $dbc->error; 
      }  
      echo "Newest user id = ",$dbc->insert_id; 

      $connection->close(); 

     } 
     else { 
      addPostForm(); 
     } 

,我得到這些錯誤:

Warning: mysqli_escape_string() expects exactly 2 parameters, 1 given in /admin/manage.php on line 11

Fatal error: Call to a member function query() on a non-object in /admin/manage.php on line 27

我可以讀取數據庫的罰款,但不能插入進去。

感謝

+1

所有的錯誤報告就好了。閱讀並診斷。 – hjpotter92

+0

我不在乎mysqli的警告,我可以弄清楚,但我不知道錯誤意味着什麼,否則我會診斷它。我使用Google搜索,每個出現錯誤的人都得到了不同的修復方法,而且發現他們或者不適合我或者不適用。這就是我在這裏發佈的原因 – shakethefloor

回答

相關問題