我遇到了MySQLI我正在尝试提交的查询问题,但没有报告任何错误,并且绝对没有发生任何事情。我已经尝试了多种方法来修复,什么都没有。
代码:
$IP = $_SERVER['REMOTE_ADDR'];
$ISP = GetISP($IP);
$Referrer = DetermineReferrer();
$Browser = GetBrowser();
$OS = GetOS();
$Time = Date("F/j/Y, g:i a");
If($IP){
mysqli_query($Connection, "INSERT INTO tracker (ip, isp, referrer, browser, os, time)
VALUES ('mysqli_real_escape_string($IP)',
'mysqli_real_escape_string($ISP)',
'mysqli_real_escape_string($Referrer)',
'mysqli_real_escape_string($Browser)',
'mysqli_real_escape_string($OS)',
'mysqli_real_escape_string($Time)')");
}
mysqli_close($Connection);
?>
If($IP)
实际上是临时测试;那就是我要检查数据库中是否已存在IP,如果可能的话,你可以引导我走上这条路吗?
我感谢所有反馈,无论是消极的还是积极的,它仍然可以提供帮助。
编辑:我将提供连接脚本,虽然它不应该是一个错误会显示的问题
<?php
Define('Host', 'localhost');
Define('Username', 'username');
Define('Password', 'password');
Define('Database', 'database name');
$Connection = mysqli_connect(Host, Username, Password, Database);
?>
出于好奇,在研究时我看到了一些关于使用SET而不是VALUES的东西。这可能与此有关吗?
答案 0 :(得分:3)
如果要使用函数调用来构造字符串,则需要使用连接。
mysqli_query($Connection, "INSERT INTO tracker (ip, isp, referrer, browser, os, time)
VALUES ('".mysqli_real_escape_string($Connection,$IP)."',
'".mysqli_real_escape_string($Connection,$ISP)."',
'".mysqli_real_escape_string($Connection,$Referrer)."',
'".mysqli_real_escape_string($Connection,$Browser)."',
'".mysqli_real_escape_string($Connection,$OS)."',
'".mysqli_real_escape_string($Connection,$Time)."')");
答案 1 :(得分:1)
我解决了问题(并认为这是最好的回应方式。)
显然,在我的查询中我需要这样做:
$Query = mysqli_query($Connection, "INSERT INTO `tracker` (`ip`, `isp`, `referrer`, `browser`, `os`, `time`) VALUES ('$IP', '$ISP', '$Referrer', '$Browser', '$OS', '$Time')");
就像这样,代码正在提交我的IP,并在页面上返回1。
感谢所有帮助过的人,我很感激。