PHP/mySQL查询未插入第一行和最后一行

PHP/mySQL查询未插入第一行和最后一行,php,mysql,Php,Mysql,我在PHP中有一个while循环,它为以下变量赋值: $ptitle$summary$author$playlingfeedurl 我已经使用echos检查了其余的代码是否健壮,在将它们查询到mySQL数据库(本地主机,MAMP)之前,它们肯定是正确的值\ mysql_query("INSERT INTO youtube_playlists (title,summary,author,playlistfeedurl) VALUES ('$ptitle','$summary','$author',

我在PHP中有一个while循环,它为以下变量赋值:

$ptitle
$summary
$author
$playlingfeedurl

我已经使用echos检查了其余的代码是否健壮,在将它们查询到mySQL数据库(本地主机,MAMP)之前,它们肯定是正确的值\

mysql_query("INSERT INTO youtube_playlists (title,summary,author,playlistfeedurl) VALUES ('$ptitle','$summary','$author','$playlistfeedurl')");
然而,第一行和最后一行并没有进入数据库,这对我来说是一个真正的难题

非常感谢您的帮助

更新:感谢您的回答

@尤西夫·阿里:谢谢你的回答,它没有解决我的问题,但肯定会有帮助。输出为:111,因此插入了我的三个结果,但没有插入其他两个


@达奇432:这很有魅力,非常感谢!真倒霉,这些值是第一个也是最后一个:当我循环50次时,我的表中只收到48个结果,所以我将结果减少到5个,看看会发生什么,这两个结果分别是第一个和第五个。我认为他们是第一个和最后一个的事实很重要,显然不是

确保您的变量不包含任何撇号,如果包含撇号,请将其更改为双精度

在构造SQL语句之前,只需对每个变量执行以下操作:

$ptitle = str_replace("'", "''", $ptitle);
您可以使用函数

 echo mysql_query(example) or mysql_error();

此代码需要调试。您必须使用“echo”,否则看不到问题。

在mysql控制台上运行
show create table youtube\u playlists
,并显示输出。PHP代码中也可能存在问题,因此请尝试使用一些调试,例如,在while循环中调试sql查询的打印。在您的查询中,没有什么是错误的。你也可以发布PHP代码吗?还可以尝试在mysql\u query()函数之后添加或死亡(mysql\u error()),以查看mysql是否给了您任何错误。您的循环中有错误。请发布循环。添加一个
。。。或者死(mysql_error())
,直到查询调用结束。如果您的第一个/最后一个查询有问题,那么将中止脚本并告诉您问题的原因。同意这里的说法,循环可能从比开始索引多1个开始(例如),并且可能在结束前完成一个元素。如果这是问题,则所有行都将受到影响。实际上,只有第一个和最后一个受到影响,这表明存在循环问题。@Jonathan不,实际上这可能是一个可能的问题。但是使用str_replace的决定有点奇怪:)根据代码和数据,没有必要影响所有明显丢失(未提供)的行。@Karolis:对,我没有说这是问题,我说这表明存在循环问题。这是最有可能调查的地区。