我目前正在开发一个博客系统.在大多数情况下,我已完成博客,只需创建脚本以允许用户将评论发布到每个博客.我的PHP选择代码出现了错误
检查与MySQL服务器版本对应的手册,以便在第1行的"DESC WHERE blogID = 6"附近使用正确的语法.
我的SQL语句的完整代码是:
SELECT commentID, blogID FROM blog_comments
ORDER BY commentID LIMIT 1 DESC WHERE blogID = '.$row['postID'];`
Run Code Online (Sandbox Code Playgroud)
我知道这个当前语句容易受到SQL注入的攻击,并且尝试使用令牌来确保我受到保护.
的$row['postiD']是从已跑到显示实际的博客文章前面的SQL语句.这是打算在主页面上进行的,我不需要显示实际的评论文本,而只需要显示该特定博客上的评论数量.如果需要,我可以发布完整的代码.
好的,我更新了我的SQL语句并修复了这个问题.但是,页面没有显示commentID数字,并且$e没有执行,我的apache2日志中也没有出现任何错误.
$query = "SELECT commentID, blogID FROM blog_comments WHERE blogID ':postid' ORDER BY commentID DESC LIMIT 1";
$query_params = array(':postid' => $row['postID']);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch(PDOException $e)
{
// dont echo $e on production site
die($e->getMessage());
}
$rows = $stmt->fetchAll();
?>
<?php foreach($rows as …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个脚本来上传.mp3文件,并将文件名插入数据库.无论何时我尝试提交表单,我都会收到错误The FILES global variable was not set,这是我指定的错误,告诉我$_FILES没有设置.
if(empty($_POST['postTitle'])){
$error[] = "Please enter a title.";
}
if(empty($_POST['image'])) {
$error[] = "Please select a file.";
}
if(empty($_POST['postAudio'])) {
$error[] = "Please enter some text";
}
$allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma"); // Universal between the image and audio
if(isset($_FILES['image'])){
$imageName = $_FILES['image']['name'];
$extension = substr($imageName, strrpos($imageName, '.') + 1);
if(in_array($extension, $allowedExts)) {
if($_FILES['image']['error'] > 0) {
echo "Return Code: " . $_FILES['image']['error'] . "<br />"; …Run Code Online (Sandbox Code Playgroud)