Php 代码新手,mysql_fetch_数组到PDO

Php 代码新手,mysql_fetch_数组到PDO,php,mysql,pdo,Php,Mysql,Pdo,我一直在寻找将一些旧的PHP查询转换为新的PDO方法。 这就是我所处的位置: $servername = "localhost"; $dbName = XXXXXXXXX $dbUser = XXXXXXXXX; $dbPass = XXXXXXXXX; $conn = new PDO("mysql:host=$servername;dbname=XXXXXXXXX", $dbUser, $dbPass); $delimiter = "**"; $query = "SELECT * FROM

我一直在寻找将一些旧的PHP查询转换为新的PDO方法。

这就是我所处的位置:

$servername = "localhost";
$dbName = XXXXXXXXX
$dbUser = XXXXXXXXX;
$dbPass = XXXXXXXXX;
$conn = new PDO("mysql:host=$servername;dbname=XXXXXXXXX", $dbUser, 
$dbPass);
$delimiter = "**";
$query = "SELECT * FROM `images` WHERE `portfolio_id` = 'X' AND `image_status` = 'X' ORDER BY rand()";
$conn->query($query);
while($row = mysql_fetch_array($query)){
    $sVal = substr($row['image_full'],0); 
    $nString = $nString.$delimiter.$sVal;
}

看来在我进入“mysql\u fetch\u数组”部分之前一切都很顺利。任何建议都将不胜感激。

您当前将字符串传递给
mysql\u fetch\u array
。 试试这个:

$result = $conn->query($query);
while($row = mysql_fetch_array($result)){

如果你看了这些页面,它会让你走上正确的轨道,并且

更新位:

foreach ($conn->query($query) as $row) {
 $sVal = substr($row['image_full'],0); 
$nString = $nString.$delimiter.$sVal;
}
使用pdo,您可以像这样迭代成功的查询

这就成功了:

$result = $conn->query($query);
while($row = mysql_fetch_array($result)){

mysql\uuu
已弃用,不应使用。改用
mysqli\u
。哦,等等,你想把mysql\u和PDO混在一起。@difster,我不是想把它们混在一起。我只是在展示我在做什么,以及哪里出了问题。是的,但如果你从PDO开始,你需要继续使用它。没错。这就是我想做的。我使用旧的php代码工作了很长一段时间,我开始工作,服务器更新了他们的php,所有东西都坏了,所以我尝试将我的旧代码转换为新的语法。尝试了这个,但我得到了一个php致命错误行30,这是$result。。。行
$result=$query->fetch(PDO::fetch\u ASSOC)
我已经更新了我的答案。看一看,希望这能让你接近。谢谢,效果很好。foreach和while似乎起了很大的作用。我真的很感谢你的帮助。没问题。如果你能接受一个很酷的答案:)谢谢,我按照你的建议调整了我的代码,但我在错误日志中得到了这一点-mysql_fetch_array()希望参数1是resource,对象在第31行的/home/XXXXXXX/public_html/mobile/iphone.php中给出