Php 从mysql表读取问题

Php 从mysql表读取问题,php,mysql,sql,Php,Mysql,Sql,我正在处理一个奇怪的问题 $result = mysql_query("SELECT link FROM item WHERE item_id='$id2'") or die(mysql_error()); $row = mysql_fetch_assoc($result); $picture = ''.$row['link'].''; echo"$picture"; 给我结果http://127.0.0.1/1321426277.无结尾,而在链接列中链接为:http://127.0.0.1/

我正在处理一个奇怪的问题

$result = mysql_query("SELECT link FROM item WHERE item_id='$id2'") or die(mysql_error());
$row = mysql_fetch_assoc($result);
$picture = ''.$row['link'].'';
echo"$picture";

给我结果
http://127.0.0.1/1321426277.
无结尾,而在
链接列中
链接为:
http://127.0.0.1/1321426277.jpg
。为什么会截断结尾?

我在您的代码中没有看到任何会导致链接被截断的内容。您是否检查表中的数据是否正确

我在您的代码中没有看到任何会导致链接被截断的内容。您是否检查表中的数据是否正确

出于测试目的,请运行

$result = mysql_query("SELECT link, Length(link) as l FROM item WHERE item_id='$id2'") or die(mysql_error());
$row = mysql_fetch_assoc($result);
if ( !$row ) {
  echo 'no such record';
}
else {
  $l = strlen($row['link']);
  var_dump($l, $row['l'], $row['link']);

  $picture = $row['link'];
  echo "'$picture'";
}

并发布结果。

出于测试目的,请运行

$result = mysql_query("SELECT link, Length(link) as l FROM item WHERE item_id='$id2'") or die(mysql_error());
$row = mysql_fetch_assoc($result);
if ( !$row ) {
  echo 'no such record';
}
else {
  $l = strlen($row['link']);
  var_dump($l, $row['l'], $row['link']);

  $picture = $row['link'];
  echo "'$picture'";
}

然后发布结果。

Ah now I see=问题是您的代码在“o”之后而不是之前包含了一个“r”-现在非常清楚,因为您提供了我在计算机上复制的行为的完整示例


WTF

啊,现在我明白了=问题是因为您的代码在“o”之后而不是之前包含了一个“r”-现在非常清楚,因为您提供了我在我的机器上复制的行为的完整示例



WTF

它看起来像是数据中的一个bug。打印(并选择)两个位置的ID(问题中的查询和在img src标记中使用它的另一个位置)。我打赌他们会有所不同。或者,您应该检查从item中选择count(1),其中item_id='xxx'*,其中xxx是魔术记录的id。

它看起来像是数据中的错误。打印(并选择)两个位置的ID(问题中的查询和在img src标记中使用它的另一个位置)。我打赌他们会有所不同。或者,您应该检查从item中选择count(1),其中item_id='xxx'*,其中xxx是魔术记录的id。

最后两行中的所有引号基本上都不起作用……您知道吗?检查数据库中“link”列的长度,以及数据类型应该是varcharI,我不确定是否得到它,为什么要这样做
$picture='.$row['link'.'”;echo“$picture”
,不是更简单吗:
echo$row['link']
?最后两行中的所有引号基本上都不起任何作用……你知道吗?检查数据库中'link'列的长度,以及数据类型应该是varcharI我不确定是否得到它,为什么要这样做
$picture='.$row['link'.'”;echo“$picture”
,不是更简单吗:
echo$row['link']
?结果是:
int(0)string(2)“42”string(42)”http://127.0.0.1/baldai/akcija/1321428326." 'http://127.0.0.1/baldai/akcija/1321428326.“
我至少怀疑
int(0)
部分。但是无论如何,mysql服务器也“认为”字符串有42个字符长并且
http://127.0.0.1/baldai/akcija/1321428326.
为42个字符。问题不在php脚本中。在
链接
列中,您如何知道“链接是:
http://127.0.0.1/1321426277.jpg
“?并查看jogesh_p的评论。我在其他地方使用它:
,它正在工作,所以我确信mysql表一切正常。我原以为我太“金发”了,看不到什么明显的东西,但现在我甚至不知道该怎么想。你确定这在你提到的另一个地方有效吗?你确定它不只是输出1321428326吗。而服务器正在使用内容协商来显示图像?您是否四次检查您是否从完全相同的来源提取了完全“相同”的记录?即相同的服务器、相同的数据库、相同的表、相同的id?结果是:
int(0)string(2)“42”string(42)”http://127.0.0.1/baldai/akcija/1321428326." 'http://127.0.0.1/baldai/akcija/1321428326.“
我至少怀疑
int(0)
部分。但是无论如何,mysql服务器也“认为”字符串有42个字符长并且
http://127.0.0.1/baldai/akcija/1321428326.
为42个字符。问题不在php脚本中。在
链接
列中,您如何知道“链接是:
http://127.0.0.1/1321426277.jpg
“?并查看jogesh_p的评论。我在其他地方使用它:
,它正在工作,所以我确信mysql表一切正常。我原以为我太“金发”了,看不到什么明显的东西,但现在我甚至不知道该怎么想。你确定这在你提到的另一个地方有效吗?你确定它不只是输出1321428326吗。而服务器正在使用内容协商来显示图像?您是否四次检查您是否从完全相同的来源提取了完全“相同”的记录?即相同的服务器、相同的数据库、相同的表、相同的id?我也一样!是的,数据是正确的,事实上我正在其他地方使用它,而且它工作正常!我也是!是的,数据是正确的,事实上我正在其他地方使用它,而且它工作正常!