簡體   English   中英

嘗試在PHP中插入MySQL時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM