尝试加入我的桌子,名为' UserCaseMessages'和我的另一张桌子一样叫做'评论'在php中使用这个确切的sql命令:
$sql = "
SELECT UserCaseMessages.DefendantID, Comments.CommentID
FROM UserCaseMessages
INNER JOIN Comments
ON UserCaseMessages.DefendantID = Comments.SenderID
";
$result = $conn->query($sql);
if ($result->num_rows > 0) // ERROR GETS THROWN ON THIS LINE {
}
以下是我的数据库的连接部分(在查询之前发生):
$servername = "localhost";
$username = "username";
$password = "password";
// Get the username from the post
$userUsername = $_POST['string'];
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
我收到以下错误:
PHP注意:尝试获取非对象的属性
我无法弄清楚我在做错了什么!!一切都拼写正确,检查并检查任何语法错误,我找不到任何,但我是这个特定方法的新手。请帮忙!
答案 0 :(得分:3)
由于您没有回复我的评论(在我提交此文件前约20分钟),我发布了以下答案。
您没有在此处选择数据库:
$servername = "localhost";
$username = "username";
$password = "password";
$conn = new mysqli($servername, $username, $password);
所以你需要添加数据库参数:
$servername = "localhost";
$username = "username";
$password = "password";
$database = "your_DB";
$conn = new mysqli($servername, $username, $password, $database);
阅读有关连接MySQLi API的手册:
同时检查查询错误:
另外,确保POST数组确实包含值。关于您未发布的HTML表单的一些内容。
表单元素必须包含匹配的名称属性:
name="string"
并且必须有<form>
的POST方法。
method="post"
。仅供参考:<form>
相当于<form method="get">
,因为如果不暗示POST,它默认为GET方法。
检查错误报告中的错误:
虽然,如果你的表单没有我已经提到的POST方法,你就不会得到错误,奇怪的。
关于 $userUsername
的旁注。
这是模棱两可的。如果您尝试针对该变量运行查询,则需要使用WHERE
子句。
即:WHERE column = '$userUsername'