2011-08-12 32 views
-1

我在PHP while循環,其賦值給後續的變量:使用回聲的PHP/MySQL查詢不插入第一個和最後一個行

$ptitle$summary$author$playlistfeedurl

我已經檢查了的代碼的其餘部分是健壯的,並且在它們被查詢到mySQL數據庫(本地主機,MAMP)之前,它們肯定是正確的值\;

mysql_query("INSERT INTO youtube_playlists (title,summary,author,playlistfeedurl) VALUES ('$ptitle','$summary','$author','$playlistfeedurl')"); 

但是第一行和最後一行沒有進入數據庫,它對我來說是一個真正的頭部劃痕!

任何幫助非常感謝。

UPDATE:謝謝你的回答!

@Yusif Ali:謝謝你的回答,它沒有解決我的問題,但它肯定會有所幫助。輸出結果是:111,所以我插入了三個結果,但其他兩個都沒有。

@ Dutchie432:這很有用,非常感謝你!這些值是第一次也是最後一次運氣確實很糟糕:當我循環50次時,我只在表中得到了48個結果,所以我將它減少到了5個結果,看看會發生什麼,而這2個結果是第一個和第五個。我認爲他們第一次和最後一次的事實很重要,顯然不是!

+3

我們可以看到循環? – PeeHaa

+0

在mysql控制檯上運行'show create table youtube_playlists'並向我們顯示輸出。在PHP代碼中也可能有問題,所以嘗試使用一些調試,例如在while循環中調試sql查詢的打印。 – TMS

+0

您的查詢中沒有任何內容突出顯示爲錯誤。你可以發佈PHP代碼嗎?也可以在mysql_query()函數之後嘗試添加或死掉(mysql_error()),以查看mysql是否給您提供任何錯誤。 –

回答

0

請確保您的變量不包含任何撇號,如果他們這樣做,請將其更改爲雙打。

只是這樣做施工的SQL語句之前每個變量:

$ptitle = str_replace("'", "''", $ptitle); 
+1

如果這是問題,所有的行都會受到影響。實際上,只有第一個和最後一個受到影響,表明存在環路問題。 –

+1

@Jonathan不,實際上它可能是可能存在的問題之一。但是,使用str_replace的決定有點奇怪:) – Karolis

+1

根據代碼和數據,顯然缺少(不提供),沒有必要影響所有行。 – Rolice

0

可以使用mysql_error()功能。

echo mysql_query(example) or mysql_error(); 

此代碼需要調試。你必須使用'回聲',否則你不會看到問題。

相關問題