PHP错误:";试图获取非对象的属性“;
我知道这个问题已经被问了很多次了,但是其他的答案都不适合我。我在这条线上遇到了问题:PHP错误:";试图获取非对象的属性“;,php,Php,我知道这个问题已经被问了很多次了,但是其他的答案都不适合我。我在这条线上遇到了问题: $row = $conn->query("SELECT * FROM urls WHERE id = '$id'"); 我遵循了一个教程,所以我不知道是否有任何其他信息,我应该提供 编辑: 全文如下: <?php function idExists($id){ include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/i
$row = $conn->query("SELECT * FROM urls WHERE id = '$id'");
我遵循了一个教程,所以我不知道是否有任何其他信息,我应该提供
编辑:
全文如下:
<?php
function idExists($id){
include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
$row = $conn->query("SELECT * FROM urls WHERE id = '.$id'");
if($row -> num_rows > 0){
return true;
} else {
return false;
}
}
function urlHasBeenShortened($url){
include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
$row = $conn->query("SELECT * FROM urls WHERE link_to_page = '$url'");
if($row->num_rows > 0){
return true;
} else {
return false;
}
}
function getURLID($url){
include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
$row = $conn->query("SELECT id FROM urls WHERE link_to_page = '$url'");
return $row->fetch_assoc()['id'];
}
function insertID($id, $url){
include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
$conn->query("INSERT INTO urls (id, link_to_page) VALUES ('$id', '$url')");
if(strlen($conn->error) == 0){
return true;
}
}
function getUrlLocation($id){
include $_SERVER['DOCUMENT_ROOT'] . '/short/includes/init.php';
$row = $conn->query("SELECT link_to_page FROM urls WHERE id = '$id'");
return $row->fetch_assoc()['link_to_page'];
}
?>
您确实忘记了数据库名称:
$conn = new mysqli($servername, $username, $password);
// Create connection like this :
$conn = new mysqli($servername, $username, $password, $dbname);
改变
$row = $conn->query("SELECT * FROM urls WHERE id = '$id'");
到
也改变了:
if($row -> num_rows > 0)
到
您确实忘记了数据库名称:
$conn = new mysqli($servername, $username, $password);
// Create connection like this :
$conn = new mysqli($servername, $username, $password, $dbname);
改变
$row = $conn->query("SELECT * FROM urls WHERE id = '$id'");
到
也改变了:
if($row -> num_rows > 0)
到
id='$id'
应该是id='.$id.
您应该检查query()调用的返回值===FALSE
。如果是,您的查询中可能有语法错误(例如,传入的用户数据)。您可以尝试打印整个查询,以便查看您正在查询的内容。您忘记了将数据库名称:/添加到连接中id='$id'
应该是id='.$id.
您应该检查query()调用的返回值==FALSE
。如果是,您的查询中可能有语法错误(例如,传入的用户数据)。您可以尝试打印整个查询,以便查看您正在查询的内容。您忘记将数据库名称:/