0

我在尝试提交的 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 的信息。会不会跟这个有关系?

4

2 回答 2

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)."')");
于 2013-11-01T03:05:42.890 回答
1

我解决了这个问题(并认为这是最好的回应方式。)

显然,在我的查询中,我需要做:

$Query = mysqli_query($Connection, "INSERT INTO `tracker` (`ip`, `isp`, `referrer`, `browser`, `os`, `time`) VALUES ('$IP', '$ISP', '$Referrer', '$Browser', '$OS', '$Time')");

就像那样,代码正在提交我的 IP,并在页面上返回 1。

感谢所有帮助过的人,我很感激。

于 2013-11-01T13:44:17.463 回答