2014-02-13 26 views
0

我正在寫一個PHP文件,從表單中取值並將它們發佈到mysql數據庫。其中一個表格字段是指向點擊後播放的視頻的按鈕鏈接。如果我進入數據庫並手動添加鏈接,它會很好用。但是,我的PHP插入導致一個錯誤。請看看這段代碼:PHP張貼<a href>導致插入錯誤

$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); 

如果我通過執行如下操作來查看$ link:echo $ link;死();它使用按鈕生成一個頁面,按鈕中的代碼看起來不錯。這是我如何試圖插入它?謝謝你的幫助!

+2

有什麼錯誤信息? –

+3

問題是''link'裏面''' - 逃脫它們! – kero

+0

查看你的源代碼,你會看到'href'的輸出是什麼。然後,您可以查明不良報價的位置。 –

回答

1

你有很多錯誤

<?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."; 
+0

*「你有幾個錯誤」* - 是? –

+0

@ fred-ii我不明白... –

+0

它的工作!非常感謝您的幫助! – user3301501