大家好,
我正在尝试为车库规划师建立日历系统。因此,我一直在做YT的视频教程。
我差不多完成并停留在最后的查询中,这个查询是在特定日期吐出“事件”的。
这里可以看到一个几乎完全正常工作的演示Calendar Demo 另外,我在这里Calendar Tutorial SRC-Code DL
下载所有文件问题是,它不会超出最终查询 - 我不知道为什么。 此时它确实连接到数据库,但查询甚至没有回显事件的“关闭”按钮,这给了我一个概念,即脚本在此之前不会继续。
以下是events.php文件的查询源
$deets = $_POST['deets'];
// $deets = preg_replace('#[^0-9/]#i', '', $deets);
include_once('inc/connect.inc.php');
$events = '';
$query = mysql_query('SELECT description FROM events WHERE evdate = "'.$deets.'"');
$num_rows = mysql_num_rows($query);
if($num_rows > 0){
$events .= '<div id="eventControl"><button onMouseDown="javascript:overlay();">Close</button><br />';
while($row = mysql_fetch_array($query)){
$desc = $row['description'];
$events .= '<div id="eventbody">'. $desc . '<br /><hr><br /></div>';
}
}
echo $events;
如果有人能给我提示触发器失败的原因,那就太棒了。
提前感谢您的想法和帮助。
问候
托比
答案 0 :(得分:0)
您需要完成代码并检查所有内容是否符合预期。
如果我理解正确,则返回false:if($num_rows > 0){
在这种情况下,在您的查询回显$deets
之前确保它是您期望的值,因此知道在查询中有效。< / p>
另外,请尝试添加:
if (!$query)
{
die('Invalid query: ' . mysql_error());
}
else
{
echo "Query ok";
}
在测试时使用num_rows()
从/* */
中删空并尝试以上操作。
另外,PHP错误日志中有什么用处吗?
正如所指出的那样,mysql_正在被折旧,你应该在PDO或mysqli中使用预处理语句。在查询中使用mysql_real_escape_string()
之前至少使用$deets
...