PDA

View Full Version : سوال: یک select ساده با استفاده از PDO



yeksib
چهارشنبه 27 دی 1391, 12:59 عصر
سلام ، من قصددارم یک تیبل رو بخونم اگر هیچ رکوردی ثبت نشده بود بگه هیچ رکوردی ثبت نشده!و اگه ثبت شده بود نشون بده ! البته با pdo کسی میتونه راهنماییم کنه!
این هم کدش!


$stmt = $this->pdo->prepare("SELECT * FROM post WHERE id='$id'");
$stmt->execute();
if(!$stmt->fetch(PDO::FETCH_NUM)) echo "هیچ رکوردی یافت نشد";
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){

echo"
<tr>
<td>".@$row['name']." </td>
<td>".@$visible." </td>
<td></td><td>
</td>
</tr>
";
}

Mr.Moghadam
چهارشنبه 27 دی 1391, 14:53 عصر
$stmt = $this->pdo->prepare("SELECT * FROM post WHERE id=:id");
$stmt->execute(array('id' => $id));
if (count($stmt->fetchAll()) == 0)
echo "هیچ رکوردی یافت نشد";
else {
while ($row = $stmt->fetchAll(PDO::FETCH_ASSOC)) {
echo"
<tr>
<td>" . @$row['name'] . " </td>
<td>" . @$visible . " </td>
<td></td><td>
</td>
</tr>
";
}
}

yeksib
چهارشنبه 27 دی 1391, 15:37 عصر
ولی متاسفانه این کد جوب نمیده! چرا؟

pani.khoram
چهارشنبه 27 دی 1391, 15:45 عصر
چه پیغام اروری می ده ، با چی دارید تست می کنید ؟؟؟
PDO اصلا فعال است رو تنظیمات وب سرور ؟

yeksib
چهارشنبه 27 دی 1391, 16:15 عصر
:لبخند: آره خانم فعاله ! من نگفتم ارور میده، گفتم جواب نمیده یعنی اون چیزی که توی سوالم مطرح شده بود رو نمیده!

Reza1607
پنج شنبه 28 دی 1391, 11:40 صبح
براي چك كردن اين كه چند تا ركورد برگشت داده شده بايد از دستور rowcount استفاده كنيد به اين صورت

$stmt->rowcount
اين دستور تعداد ركورد ها رو برمي گردونه
لينك زير مي تونه كمكتون بكنه
http://php.net/manual/en/pdostatement.rowcount.php
و البته اين لينك
http://php.net/manual/en/class.pdostatement.php