PHP发布<;a href>;导致插入时出错
我正在编写一个php文件,它从表单中获取值并将它们发布到mysql数据库。其中一个表字段是指向单击时将播放的视频的按钮链接。如果我进入数据库并手动添加链接,效果会很好。但是,我的PHP插入导致了一个错误。请查看此代码:PHP发布<;a href>;导致插入时出错,php,mysql,Php,Mysql,我正在编写一个php文件,它从表单中获取值并将它们发布到mysql数据库。其中一个表字段是指向单击时将播放的视频的按钮链接。如果我进入数据库并手动添加链接,效果会很好。但是,我的PHP插入导致了一个错误。请查看此代码: $fileName = "video_".$id.".html"; $link = "<a href=\"javascript: void(0)\" onclick=\"MM_openBrWindow('videos/".$fileName."','','toolbar=n
$fileName = "video_".$id.".html";
$link = "<a href=\"javascript: void(0)\" onclick=\"MM_openBrWindow('videos/".$fileName."','','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=420,height=390')\"><button class=\"count\">Watch Video</button></a>";
$con=mysqli_connect("localhost","videomanager","password","my_database");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO video_list (date, title, description, link) VALUES('$_POST[date]','".mysqli_real_escape_string($_POST['sermon'])."','".mysqli_real_escape_string($_POST['description'])."','$link' )";
if (!mysqli_query($sql,$con))
{
die('Error: ' . mysqli_error());
}
echo "This video has been successfully added to the video database.";
mysqli_close($con);
$fileName=“video”.$id.“.html”;
$link=“”;
$con=mysqli_connect(“本地主机”、“视频管理器”、“密码”、“我的数据库”);
//检查连接
if(mysqli\u connect\u errno())
{
echo“未能连接到MySQL:”.mysqli_connect_error();
}
$sql=“插入视频列表(日期、标题、描述、链接)值($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
if(!mysqli_query($sql,$con))
{
die('Error:'.mysqli_Error());
}
echo“此视频已成功添加到视频数据库。”;
mysqli_close($con);
如果我通过如下操作查看$link:echo$link;模具();它生成一个带有按钮的页面,按钮中的代码看起来不错。这是我试图插入它的方式吗?谢谢你的帮助 你有很多错误
<?php
$fileName = "video_".$id.".html";
$link = "<a href=\"javascript: void(0)\" onclick=\"MM_openBrWindow('videos/".$fileName."','','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=420,height=390')\"><button class=\"count\">Watch Video</button></a>";
$con = mysqli_connect("localhost","videomanager","password","my_database");
// Check connection
if ( mysqli_connect_errno() )
die('Failed to connect to MySQL: ' . mysqli_connect_error() );
// Check param is set
if( !isset($_POST['date'], $_POST['sermon'], $_POST['description']) )
die('Param Error');
// SQL Request
$sql = sprintf("INSERT INTO video_list (date, title, description, link) VALUES('%s','%s','%s','%s')",
mysqli_real_escape_string($con, $_POST['date']),
mysqli_real_escape_string($con, $_POST['sermon']),
mysqli_real_escape_string($con, $_POST['description']),
mysqli_real_escape_string($con, $link)
);
// SQL execute
$result = mysqli_query($con, $sql) or die('Error: ' . mysqli_error($con));
// Free result
mysqli_free_result($result);
// Close connection
mysqli_close($con);
echo "This video has been successfully added to the Kim Watt videos.";
错误消息是什么?问题是'
内的$link
-将其转义!查看您的源代码,您将看到href
的输出是什么。然后,您可以确定错误引号的位置。您是否也尝试过在$link
周围放置mysqli\u real\u escape\u string
?错误消息只是说“error:”数据库中没有消息。我试着把转义字符串放在$link周围。。。同样的结果。Kingkero,我不认为你必须避开单引号。这意味着,不仅OP最好知道错误发生在哪里,而且可以证明对其他可能访问此问题/答案的人有益@nigro.simone-如果没有任何信息被告知错误是在哪里发生的,只是复制/粘贴代码并希望它能工作,那么就什么都没有学到/知道。例如,我需要将OP的代码与您的答案进行比较,以了解在何处进行了更改,从而得出解决方案。;-)我从中学到了很多。这个网站和这里的人都很酷。谢谢@弗雷德二世,我明白,但不幸的是,我的英语不好,无法让我完整地解释。到目前为止,我们的英语似乎很好;-)但我明白。如果可能的话,一定要解释一下,或者至少指出错误的地方。例如:“你在(本代码)中的引用必须是(本)”类型的东西。干杯@nigro.simone