0
我知道这个问题早已被问过很多次,但没有其他答案为我工作。我在这条线的麻烦:PHP错误:“试图获取非对象的属性”
$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'];
}
?>
初始化代码
<?php
$servername = "localhost";
$username = "root";
$password = "";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
错误上线7条,18
'ID = '$ id''应该是'ID =' $ id.'' –
你忘记添加数据库名称:/你的连接 – yoeunes
您应该检查query()的返回值是否调用“=== FALSE”。如果是这样的话,你的查询中可能会出现语法错误(例如传入的用户数据)。您可以尝试打印整个查询,以便查看正在查询的内容。 – PhilMasterG