我从YouTube教程中找到了有关同一主题的代码。似乎根本无法让它工作。我现在得到的错误是这样的
注意:尝试在第 13 行的 C:\xampp\htdocs\test.php 中获取非对象的属性
有人知道这段代码有什么问题吗?我对PHP很陌生。我刚刚用一些JS来了解HTML和CSS,所以如果它非常简单的话,请饶了我吧。
<?php
$conn = mysqli_connect("localhost","root","",`unique_visitors`);
$date = date("Y-m-d");
$userIP = $_SERVER['REMOTE_ADDR'];
$query = "SELECT * FROM `unique_visitors` WHERE `date`='$date'";
$result = mysqli_query($conn,$query);
if(!isset($_COOKIE['visitor'])){
$time = strtotime('next day 00:00');
setcookie('visitor','hey',$time);
}
if($result->num_rows==0){
$insertQuery = "INSERT INTO `unique_visitors` (`date`,`ip`)
VALUES ('$date','$userIP')";
mysqli_query($conn,$insertQuery);
}else{
$row=$result->fetch_assoc();
if(!isset($_COOKIE['visitor'])){
$newIP = "$row[ip]";
if(!preg_match('/'.$userIP.'/',$newIP)){
$newIP.= " $userIP";
}
$updateQuery = "UPDATE `unique_visitors` SET `ip` = '$newIP',
`views`=`views`+1 WHERE `date`='$date'";
mysqli_query($conn,$updateQuery);
}
}
第 6 行的 SQL 可能是错误的。所以$result变量不是mysqli_query对象。
尝试在第 7 行之后添加此代码段以找出此处的问题。
if($result === false)
{
die("Error description: " . mysqli_error($conn));
}
阅读有关mysqli_error函数的一些文档
更新
这将解决您的问题。设置正确的变量。您在 $db_name 位置上使用表名。
$conn = mysqli_connect("$db_hostname", "$db_username", "$db_password", "$db_name") or die("db connect error: ".mysqli_connect_error());