我是php和sql的新手。 我试图建立一个聊天网络,但我在PHP中有太多错误,它连接到数据库,但我无法在我的数据库中插入东西。 我当时有两个难以理解的错误,
FATAL ERROR:Call to a member function mysqli_num_rows() on a non-object in E:\xamp\htdocs\chatting\post.php on line 20
NOTICE:undifined index: in E:\xamp\htdocs\chatting\post.php on line 13
提供这些错误的php脚本是
<?php
$connect= new mysqli('localhost', 'root','' ,'user');
if($connect->connect_error){
die('connection failed bruh');
} else
echo 'connected';
$message= $_POST[`message`];
$name= $_POST[`name`];
$sql = 'INSERT INTO user (name, message) VALUES (`{$name}`, `{$message}`)';
$result = $connect-> query($sql);
if ($result->mysqli_num_rows($sql) > 0){
while ($row=$result->fetch_assoc()){
echo $row[`$message`];
}
} else
echo '<br> problem';
?>
我的sql数据库的表名是user,它有三个colmns
1.id (which is set to auto increment)
2.name
3.message
如果有人可以帮我摆脱这些将非常感谢,如果我的PHP代码中有更多错误,请告诉我
答案 0 :(得分:-1)
此处有一个空格:$result = $connect->" "query($sql);
,将其删除并重试。
确保避免在不适当的地方间隔。
另外,正如我所说的那样,而不是$message= $_POST[
消息];
做$message= $_POST['message'];
。不要在关联数组键名上使用反引号。
答案 1 :(得分:-1)
看起来你正试图回应正在发布的内容但是你试图通过为INSERT创建一个循环来实现这一点。你应该循环一个SELECT。这里有两种选择。最简单的是回应所提交的内容:
echo $message;
如果您尝试执行的操作是验证查询是否为真,那么您可以执行以下操作:
if ( $result = $connect-> query($sql) )
{
echo $message;
} else
{
echo '<br> problem';
}