[英]Problems when trying to INSERT into MySQL in PHP
我使用變量來記錄有關網站用戶的信息,以觀察他們在我的網站上的行為。 我的代碼如下所示:
<?php
$pages_visited = "www.example.com, www.example.com/example.php, www.example.com/demo.php";
$con = mysqli_connect("localhost", "user", "password", "pages_visited");
if (mysqli_connect_errno()) {
echo "An error occurred when connecting to the database. Sorry.";
}
mysqli_query($con, "INSERT INTO visit_data ('Pages')
VALUES ('$pages_visited')");
mysqli_close($con);
但是,當我訪問我的網站時,沒有任何反應,並且表visit_data中沒有添加新行。 為什么會這樣呢?
嘗試使用mysqli預處理語句(該錯誤與不使用預處理語句無關,但是我認為最好使用該方法,因為不推薦使用mysql函數)
$db = new mysqli('localhost', 'root', '', 'database');
if ($db->connect_errno) {
echo "Failed to connect to MySQL: (" . $db->connect_errno . ") " . $db->connect_error;
}
$pages_visited = "www.example.com, www.example.com/example.php, www.example.com/demo.php";
$stmt = $db->prepare("insert into `visit_data` (Pages) values(?)");
$stmt->bind_param('s', $pages_visited);
$stmt->execute();
您需要更新查詢:
INSERT INTO visit_data (`Pages`) VALUES('".$pages_visited."')
實際上,您使用的是單引號('Pages'),請檢查以下代碼。 我已經在本地驗證了此代碼的運行
<?php
$pages_visited = "www.example.com, www.example.com/example.php, www.example.com/demo.php";
$con = mysqli_connect("localhost", "user", "password", "pages_visited");
if (mysqli_connect_errno()) {
echo "An error occurred when connecting to the database. Sorry.";
}
$try = mysqli_query($con, "INSERT INTO visit_data (`Pages`) VALUES('".$pages_visited."')");
if($try === false){
echo 'error - ';
echo mysqli_error($con);
} else{
echo 'all good';
}
mysqli_close($con);
使用字符串時必須使用'“。$ text_var。”'。 確保您使用的表列正確,並且除非您在創建表時使用默認值,否則不要遺漏任何不接受空值的列。
這應該工作
<?php
$pages_visited = "www.example.com, www.example.com/example.php, www.example.com/demo.php";
$con = mysqli_connect("localhost", "user", "password", "pages_visited");
if ( mysqli_connect_errno() )
{
echo "An error occurred when connecting to the database. Sorry.";
}
mysqli_query( $con, "INSERT INTO visit_data ( Pages ) VALUES ( '" . $pages_visited . "' )" );
mysqli_close($con);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.