我得到这个错误警告:试图访问null类型值上的数组偏移量



我得到这个错误

警告:试图在E:xampphtdocsword- mean- learnword-ajax-insert.php第15行访问类型为null的值上的数组偏移量插入有意义的数据!

这行代码有什么问题?比;if($row['bangla_mean'] == $bangla_mean)

<?php
include "config.php";
$bangla_mean = $_POST["bangla_mean"];
$english_mean = $_POST["english_mean"];
$example_mean = $_POST["example_mean"];
$synonym_mean = $_POST["synonym_mean"];
if(isset($bangla_mean)){
$stmt = $conn->prepare("SELECT bangla_mean FROM wordmeanings_table WHERE bangla_mean=?");
$stmt->bind_param("s",$bangla_mean);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_array(MYSQLI_ASSOC);
if($row['bangla_mean'] == $bangla_mean){
$response = "This Bangla meaning already exist!";
}
else{
$stmt = $conn->prepare("INSERT INTO wordmeanings_table (bangla_mean, english_mean, example_mean, synonym_mean) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss",$bangla_mean,$english_mean,$example_mean,$synonym_mean);
if($stmt->execute()){
$response = "Inserted the meaning data!";
}
else{
$response = "Something went wrong!";
}
}
}
echo $response;
exit;
?>

错误消息意味着$row变量为空,但您试图将其视为数组。当没有找到行时,Null是fetch_array()方法的合法返回值。如果找到行,方法将返回所请求的" bangla_means "从职位。

if (is_array($row)) {
$response = "This Bangla meaning already exist!";
} else {
// ...
}

或者检查$row的另一个选项不是null:

if ($row !== null) {
// ...
}

你的查询是空的,你试图得到的结果"?",这不是逻辑…试着这样做:

if(isset($bangla_mean)){
$stmt = $conn->prepare("SELECT bangla_mean FROM wordmeanings_table WHERE bangla_mean='$bangla_mean'");
$stmt->bind_param("s",$bangla_mean);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_array(MYSQLI_ASSOC);

相关内容

最新更新