执行查询时,它不起作用,会打印错误。当我打印它时,$ 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";
}
?>
答案 0 :(得分:0)
我可以从您提供的代码中获取一些东西。
$_SESSION["username"];
是多余的,因为它什么都不做尝试这样的事情:
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
数组的内容,以确保实际设置了值。
答案 1 :(得分:0)
我相信这是你的问题:
$q = $_GET['q'];
q应该用引号括起来,例如:
for (Obj o : objectList)
除此之外,达蒙所说的完全正确。