Php postgresql中的数据库字符串比较无法识别字符串长度
我正在服务器之间传输数据,需要更改wiki数据库中的一些链接。我写了一个快速脚本,应该能够做到这一点没有问题。但是当我运行它时,Php postgresql中的数据库字符串比较无法识别字符串长度,php,string,postgresql,Php,String,Postgresql,我正在服务器之间传输数据,需要更改wiki数据库中的一些链接。我写了一个快速脚本,应该能够做到这一点没有问题。但是当我运行它时,if($datacount)条件永远不会运行。这可能是我遗漏的一些简单的东西,但我看不出问题是什么 $dbconn = pg_connect("host= localhost port=5432 dbname=wiki user=user password=password"); $sql = "SELECT old_text FROM wiki_public.page
if($datacount)
条件永远不会运行。这可能是我遗漏的一些简单的东西,但我看不出问题是什么
$dbconn = pg_connect("host= localhost port=5432 dbname=wiki user=user password=password");
$sql = "SELECT old_text FROM wiki_public.pagecontent LIMIT 10";
$go = pg_query($dbconn,$sql);
$i=0;
$string = 'sometext';
while($data = pg_fetch_assoc($go)) {
$info = $data['old_text'];
$count = strlen($string);
$datacount = strlen($info);
echo "Length: ".$datacount."<br/>";
if($datacount != 0) {
$position = strpos($string,$info);
if($position !== false) {
echo "The string ".$string." was found in row ".$i." and exists at position ".$position."The original content was: ".substr($info, $position,$count)."<br/>";
}
}
$i++;
}
我宣布今天是我的无脑日
<?php
# Database connection snipped.
# Let's say the database contains at least one row that's a substring
# of $string. Something like 'John', or '/123/'.
$string = 'John/123/456/789/012';
while($data = pg_fetch_assoc($go)) {
$position = strpos($string, $data['old_text']);
if ($position !== false) {
echo "$string contains ".$data['old_text'];
}
else {
echo "$string does not contain ".$data['old_text'];
}
}
?>
$string的内容是什么?(将其与$datacount
一起回显)。$string只是一些随机文本。这很奇怪,因为当我在$info
旁边回显$datacount
时,我得到的长度类似于:144,$info
=String(144){'onehundred44 characters of stuff'},所以$info
里面有内容,$count
并不总是等于0。这部分是直接从php strops手册中获得的。如果触发该条件,我将从中获得一个空分隔符错误strpos@Ryan:更换我的大脑后,更新了答案。我想现在该小睡一会儿了。
<?php
# Database connection snipped.
# Let's say the database contains at least one row that's a substring
# of $string. Something like 'John', or '/123/'.
$string = 'John/123/456/789/012';
while($data = pg_fetch_assoc($go)) {
$position = strpos($string, $data['old_text']);
if ($position !== false) {
echo "$string contains ".$data['old_text'];
}
else {
echo "$string does not contain ".$data['old_text'];
}
}
?>