J'ai eu du mal à obtenir mes données à insérer dans ma table. Les données sont extraites d'un fichier XML dans un tableau et l'écho des résultats est correct, mais il échoue lors de l'insertion.INSERT échoue sur le serveur avec magic_quotes sur
$dbhost = 'XXXX';
$dbuser = 'XXXX';
$dbpass = 'XXXX';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
if($conn)
{
echo "Database Connection Successfull...<br /><br />";
}
$dbname = 'a4027212_footy';
mysql_select_db($dbname) or die('Couldnt connect to database table');
if($dbname)
{
echo "Database ".$dbname." Selected..<br /><br />";
}
$tweetmeme = "http://api.tweetmeme.com/stories/popular.xml?category=sports-soccer&count=30" ;
$xml = @simplexml_load_file($tweetmeme) or die ("no file loaded") ;
if($xml)
{
echo "Tweetmeme XML loaded with ".count($xml->stories->story)." stories in the file..<br /><br />";
}
if(get_magic_quotes_gpc())
{
echo "Magic Quotes is ON<br /><br />";
}
foreach($xml->stories->story as $story)
{
$title=$story->title;
$title=mysql_real_escape_string($title);
$url=$story->url;
$url=mysql_real_escape_string($url);
$media_type=$story->media_type;
$media_type=mysql_real_escape_string($media_type);
$created=$story->created_at;
$created=mysql_real_escape_string($created);
$url_count=$story->url_count;
$url_count=mysql_real_escape_string($url_count);
$comment_count=$story->comment_count;
$comment_count=mysql_real_escape_string($comment_count);
$excerpt=$story->excerpt;
$excerpt=mysql_real_escape_string($excerpt);
$sql = "INSERT INTO ft_tweets (title,url,media_type,created_at,mention_count,comment_count,excerpt) VALUES ($title,$url,$media_type,$created,$url_count,$comment_count,$excerpt)";
$result = mysql_query($sql) or die(mysql_error());
if($result)
{
echo "added to database<br />";
}
}
echo "<br /><br />";
Ive été dit que l'insertion échouera s'il y a des caractères spéciaux dans la chaîne et mysql_real_escape_string() contribuerait mais il na pas. J'ai essayé avec et sans m'échapper en vain. Le message d'erreur renvoyé est: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'off'. La cheville est mauvaise ici. .? Sur Twitpic), mysql_real_escape_string (http://twitpic.c 'à la ligne 1
et il échoue sur l'insertion sql
Ce code a été un gâchis. J'ai reformaté toutes les nouvelles lignes superflues, mais s'il vous plaît regardez l'aperçu la prochaine fois et assurez-vous qu'il semble lisible. – EboMike
Noté, je viens de copier et coller, je vais voir la prochaine fois :) –