Php 未定义索引,mysqli_查询,无结果回吐

Php 未定义索引,mysqli_查询,无结果回吐,php,mysqli,Php,Mysqli,我正在学习一个构建日历的教程。最初,它是用mysql构建的,为了遵循php的建议,我将它稍微重写到mysqli中 我被困在最后一步,我试图从数据库中获取事件/天的描述。我没有得到任何结果 我的日历表如下所示:[id][evdate][description] 这是我的代码,我在第13行收到一个未索引的通知-非常感谢您的帮助 $deets = $_POST['deets']; $deets = preg_replace('#[^0-9/]#i', '', $deets); include_onc

我正在学习一个构建日历的教程。最初,它是用mysql构建的,为了遵循php的建议,我将它稍微重写到mysqli中

我被困在最后一步,我试图从数据库中获取事件/天的描述。我没有得到任何结果

我的日历表如下所示:[id][evdate][description]

这是我的代码,我在第13行收到一个未索引的通知-非常感谢您的帮助

$deets = $_POST['deets'];
$deets = preg_replace('#[^0-9/]#i', '', $deets);

include_once('inc/connection.inc.php');
$events = '';
$sql = "SELECT id FROM events WHERE evdate = '$deets'";
$query = mysqli_query($connection, $sql);
$num_rows = mysqli_num_rows ($query);
if($num_rows > 0){
    $events .= '<div id="eventControl"><button onmousedown="overlay()">Close</button><br><strong>'. $deets .'</strong></div>'; // Add a close Button
while($row = mysqli_fetch_assoc($query)) {
    $desc = $row['description']; // Notice undefindex Index :(
    $events .= '<div id="eventsbody">'. $desc .'</div>';
}
}
echo $events;
您仅选择id,但尝试检索描述。将您的查询更新为:

$sql = "SELECT id, description FROM events WHERE evdate = '$deets'";

您只选择了id,所以$row不包含描述。如果您不使用参数化查询,那么使用mysqli也没有任何意义。@mario虽然使用参数化查询是个好主意,但这并不是使用mysqli的唯一原因。你们这些家伙速度非常快,而且很好-首先-我不敢相信这么简单,但是逻辑。第二,嗯,我明白了,好吧,我必须再次克服准备好的陈述。非常感谢所有的答案,竖起大拇指!