以下のコードは、ユーザーが YouTube の URL を入力するときに使用され、URL から YouTube ID を取得します。次に、その ID を持つそのビデオのタイトルを取得します。次に、それがデータベースに挿入され、呼び出されて、その ID に関連付けられたビデオの画像が表示されます。
この YouTube URL http://www.youtube.com/watch?v=p64tAbP-nHEまたはその他の YouTube URL を使用する場合。その YouTube URL のタイトルに 'ie(2013 Ravens Rock Rally - Jonathan O'Callaghan & Gavin Sheehan - Stage 3) が含まれている場合、エラーが発生します。
エラー: SQL 構文にエラーがあります。1 行目の「Callaghan & Gavin Sheehan - Stage 3」の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
事前に感謝します。
これが私のコードです:
<?php
include 'dataconnection.php';
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
$url = $_POST['set_video'];
parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
$youtube_id = $my_array_of_vars['v'];
$info = $_POST['set_desc'];
$id = $my_array_of_vars['v'];
$xmlData = simplexml_load_string(file_get_contents("http://gdata.youtube.com/feeds/api/videos/{$id}?fields=title"));
$title = (string)$xmlData->title;
$sql="INSERT INTO videodetails SET id='null',youtube_id='$youtube_id',info='$title'";
if (!mysqli_query($connection,$sql))
{
die('Error: ' . mysqli_error($connection));
}
echo "<div id='pageheader'>
1 record added<span id='logout'>Return to <a href='contributors_login.html'>Contributors Login</a></span>
</div>";
echo '<div id="setvideo"><a href="http://www.youtube.com/watch?v='.$my_array_of_vars['v'].'" target="_blank"><img src="http://i4.ytimg.com/vi/'.$my_array_of_vars['v'].'/default.jpg" style="border:solid 2px white;"></a><p>'.$title.'</p></div>';
mysqli_close($connection);
?>