我已经找到了为什么这样做的答案,我似乎无法弄明白。我想在index.php
我有
$fromstr = 'index';
$country = 'TEST';
$ip = $_SERVER['REMOTE_ADDR'];
$servername = "localhost";
$username = "*****";
$password = "*****";
$dbname = "*****";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO counter (Country, IP, referrer)
VALUES ('$country', '$ip', '$fromstr')";
mysqli_query($conn, $sql);
$conn->close();
当我访问index.php
时,它会将相同的条目添加到数据库中两次。我试着测试它为什么会发生,所以制作了一个额外的文件test.php
。我添加了几乎相同的代码,只需更改$fromstr
并将$country
字段留空。我的代码是:
$fromstr = 'test';
$ip = $_SERVER['REMOTE_ADDR'];
$servername = "localhost";
$username = "*****";
$password = "*****";
$dbname = "*****";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO counter (Country, IP, referrer)
VALUES ('$country', '$ip', '$fromstr')";
mysqli_query($conn, $sql);
$conn->close();
当我访问test.php
时,它会正确添加Country->NULL IP->(ip address) referrer->"test"
条目,但它也会添加index.php
应添加的查询(Country->"TEST" IP->(ip address) referrer->"index"
)。
TL; DR:当我访问index.php
时,我的服务器执行查询以将某些内容插入到数据库中,但是(由于某些奇怪的原因)它会执行两次。我创建了另一个文件test.php
来插入一个不同的查询,它会在索引页面上插入一次正确的查询,即使从未访问过索引页面也是如此。为什么会这样做?
答案 0 :(得分:-1)
如果这是您的实际源代码,则您已经出现语法错误。您忘记在以下行中的TEST
后添加单引号:
$country = 'TEST;