Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我看到零被插入MySQL数据库?_Php - Fatal编程技术网

Php 为什么我看到零被插入MySQL数据库?

Php 为什么我看到零被插入MySQL数据库?,php,Php,在我的MySQL数据库中,我看到在正确和预期的插入之前,将空白记录插入到我的messages表中: id, user_id, message, rating 43, 0, 0, 0 44 23498745, test, 0 id为43的记录不应该存在,因为某些原因,它插入了零。我不知道为什么,因为我的if条件是检查$message是否有某种值 if(isset($message) && !empty($message) && !is_NULL($message)

在我的MySQL数据库中,我看到在正确和预期的插入之前,将空白记录插入到我的messages表中:

id, user_id, message, rating
43, 0, 0, 0
44 23498745, test, 0
id为43的记录不应该存在,因为某些原因,它插入了零。我不知道为什么,因为我的if条件是检查
$message
是否有某种值

if(isset($message) && !empty($message) && !is_NULL($message)){
            $data['text'] = 'Your message has been saved';
            $stmt = $pdo->query('INSERT INTO messages (user_id, message, rating) VALUES (?, ?, ?)');
            $stmt->execute([$chat_id, $message, 0]);
            Request::sendMessage($data);
 }
甚至把
退出sendMessage()
后的code>语句没有任何作用。我看不出这有什么问题


如何防止插入这些空白记录?

在您的代码中是否有其他位置可以运行
插入消息
?在您的情况下,您正在检查3个选项。看到你的消息是0,所以3是通过真的,它插入到数据库的日期。如果(isset($message)&&&!empty($message)&&!is_NULL($message)&&$message!=0)@jualahmed 0被认为是空的,则再添加一个类似于此的值。OP实际上可以用
if(!empty($message))
替换所有3个检查,这是一样的。