gpt4 book ai didi

php - 为什么 mysql Insert into query 在 php 应用程序中不起作用

转载 作者:行者123 更新时间:2023-11-30 22:24:24 25 4
gpt4 key购买 nike

当执行查询时它不工作,它会打印错误。当我打印它时 $q 也没有出现。但是 $_SESSION["用户名"];在工作吗?

      <?php
session_start();
$_SESSION["username"];

include 'Db_Connection.php';
$q= $_GET[q];

$username= $_SESSION[username];

echo $username;
echo $q;

$sql="INSERT INTO search(searcher,searched_time,searched_email)
VALUES ('$username',NOW(),'$q')";

$result = mysqli_query($con,$sql);

if($result)
{
echo "Success";

}
else
{
echo "Error";

}
?>

最佳答案

我可以从您提供的代码中获取一些信息。

  1. 你的第二行 $_SESSION["username"]; 是多余的,因为它什么都不做
  2. 您正在使用已弃用的 mysql_* 函数
  3. 您没有使用准备好的语句将变量插入查询

尝试这样的事情:

session_start();

//start assuming this is in your connection file
$con = new mysqli("db-ip-address", "db-user", "db-pass", "db-name")
//end assuming

$q= $_GET[q];

$username= $_SESSION[username];

echo $username;
echo $q;

$sql="INSERT INTO search(searcher,searched_time,searched_email) VALUES (?,NOW(),?)";
$stmt = $con->prepare($sql);
$stmt->bind_param("ss", $username, $q);
$result = $stmt->execute();

if($result) {
echo "Success";
} else {
echo "Error";
}

//remember to cleanup connections etc

至于值 $q 没有打印出来,请确保该值是通过 GET 查询字符串 http://someurl.com/somefile.php?q=some-value 设置的并且 $q 不是一些奇怪的不可打印值。如果您想确认该值已设置,请尝试运行 var_dump($_GET) 以输出您的 $_GET 数组的内容,以确保确实设置了一个值.

关于php - 为什么 mysql Insert into query 在 php 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35714693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com