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
我可以讀取數據庫的罰款,但不能插入進去。
感謝
所有的錯誤報告就好了。閱讀並診斷。 – hjpotter92
我不在乎mysqli的警告,我可以弄清楚,但我不知道錯誤意味着什麼,否則我會診斷它。我使用Google搜索,每個出現錯誤的人都得到了不同的修復方法,而且發現他們或者不適合我或者不適用。這就是我在這裏發佈的原因 – shakethefloor