webForumDet fria alternativet

Konstigt problem: Allt visas men bara lite skrivs in i databasen

PHP

3 svar · 368 visningar · startad av mikaeled

Medlem sedan dec. 2000157 inlägg
Frågan#1

Hej,

Det är så att jag vill lägga in de mest sålda låtarna från billboardlistan som finns på http://www.billboard.com/bb/charts/hot100.jsp

Scriptet plockar först ut låtnamnet ($out[1]) samt artistens namn ($outt[1]). Dessa skrivs sedan ut:

echo "<td>$start</td><td>$out[1]</td><td>$outt[1]</td><td><input type=text name=s$start></td><tr>";

När man kollar på sidan så skrivs alla 50:o ut som de ska men sen när jag kollar i databasen så finns endast 41 stycken där. Resten har inte blivit sparade. T ex så sparas aldrig 2,4,10 och 26... :S

$sql="insert into graph (date, type, value, type2, color) values ('$date', '$type', '$start', '$outt[1]', '$out[1]')";  mysql_query($sql);

Vad kan vara fel? :S

Mikael

Medlem sedan juni 20006 031 inlägg
#2

Skulle tippa på att det beror på att de i namnen har ' (enkelfnutt)

Använd t.ex ENT_QUOTES som byter ut ' mot &# 039 innan du lägger in i databasen.

$out[1] = htmlentities ($out[1], ENT_QUOTES);

och ändrar tillbaks när du hämtat från databasen

$out[1] = str_replace("&#039;", "'", $out[1]);
Medlem sedan dec. 2000157 inlägg
#3

Pedda skrev:

Skulle tippa på att det beror på att de i namnen har ' (enkelfnutt)

Använd t.ex ENT_QUOTES som byter ut ' mot &# 039 innan du lägger in i databasen.

$out[1] = htmlentities ($out[1], ENT_QUOTES);

och ändrar tillbaks när du hämtat från databasen

$out[1] = str_replace("&#039;", "'", $out[1]);

Fantastiskt! Tack så hjärtligt för hjälpen Pedda!

Medlem sedan okt. 2004392 inlägg
#4

Inte för att låta tråkig, men är du nöjd med svaret acceptera det.

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)