Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP发布<;a href>;导致插入时出错_Php_Mysql - Fatal编程技术网

PHP发布<;a href>;导致插入时出错

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

我正在编写一个php文件,它从表单中获取值并将它们发布到mysql数据库。其中一个表字段是指向单击时将播放的视频的按钮链接。如果我进入数据库并手动添加链接,效果会很好。但是,我的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())
  {
  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