hamidhassas
دوشنبه 31 فروردین 1394, 12:52 عصر
سلام
من میخوام تازه شروع به نوشتن یک پروژه جدید کنم اون هم با PDO و MySQLi و تا حالا با هیچ کدوم کار نکردم مشکلاتم رو مینویسم لطفا قدم به قدم جزء به جزء کمکم کنید.
اول من یک فانکشن برای اتصال به دیتابیس به صورت UTF-8 به همراه پیغام خطا در اتصال به دیتابیس نوشتم که هرجا خواستم فقط اون رو صدا بزنم با PDO
آیا فانکشنی که نوشتم صحیح هست ؟
$hast_name='localhost';
$database_name='user';
$host_username='root';
$host_password='';
function Connect_to_DataBase($hast_name,$database_name,$hos t_username,$host_password)
{
try
{
$db = new PDO('mysql:host='.$hast_name.'; dbname='.$database_name.'; charset=UTF8', $host_username, $host_password);
//$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
catch(PDOException $error_connection)
{
echo 'خطا!: مشکلی در اتصال به بانک اطلاعاتی روی داده است' . '<br>';
echo $error_connection->getMessage();
exit();
}
}
Connect_to_DataBase($hast_name,$database_name,$hos t_username,$host_password);
$select_administrator = $db->query('SELECT * FROM admin');
<table border="1">
<?php
foreach($select_administrator as $row){ // چه حسنی داره؟
while ($row = $select_administrator->fetch(PDO::FETCH_ASSOC)) {// چه حسنی داره
?>
<tr>
<td><?= $row['username'] ?></td>
<td><?= $row['password'] ?></td>
<td><?= $row[3] ?></td>
</tr>
<?php } ?>
</table>
اول چرا فانکشن بالا کار نمیکنه ؟ در صورتی که اگر فانکشن حذف کنم کار میکنه؟
دوم چطوری باید با PDO اطلاعات رو از دیتابیس بخونم
سوم چطوری با PDO اطلاعات رو ویرایش کنم
چهارم چطوری با PDO اطلاعات رو حذف کنم
پنجم مقادیری که با GET و POST ارسال شدن اند رو ایمن سازی کنم؟ آیا باید با MySqli ایمن سازی کنم؟
ششم چطوری بعد از اتصال به دیتابیس در PDO چک کنم آیا مثلا فلان مقدار در دیتابیس بود یا نه قبلا من با mysql_num_rows این کار رو انجام میدادم
هفتم فرق نمایش دادن while و foreach تو نمایش اطلاعات از دیتابیس چیه؟
هشتم فرق بین fetch() , fetchAll() در PDO چیه؟
نهم چطوری باید به یک اتصال پایان داد؟
دهم چرا در هنگام استفاده از While باید در کد روبرو رو نوشت ( منظورم Fetch(PDO::FETCH_ASSOC))
من میخوام تازه شروع به نوشتن یک پروژه جدید کنم اون هم با PDO و MySQLi و تا حالا با هیچ کدوم کار نکردم مشکلاتم رو مینویسم لطفا قدم به قدم جزء به جزء کمکم کنید.
اول من یک فانکشن برای اتصال به دیتابیس به صورت UTF-8 به همراه پیغام خطا در اتصال به دیتابیس نوشتم که هرجا خواستم فقط اون رو صدا بزنم با PDO
آیا فانکشنی که نوشتم صحیح هست ؟
$hast_name='localhost';
$database_name='user';
$host_username='root';
$host_password='';
function Connect_to_DataBase($hast_name,$database_name,$hos t_username,$host_password)
{
try
{
$db = new PDO('mysql:host='.$hast_name.'; dbname='.$database_name.'; charset=UTF8', $host_username, $host_password);
//$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
}
catch(PDOException $error_connection)
{
echo 'خطا!: مشکلی در اتصال به بانک اطلاعاتی روی داده است' . '<br>';
echo $error_connection->getMessage();
exit();
}
}
Connect_to_DataBase($hast_name,$database_name,$hos t_username,$host_password);
$select_administrator = $db->query('SELECT * FROM admin');
<table border="1">
<?php
foreach($select_administrator as $row){ // چه حسنی داره؟
while ($row = $select_administrator->fetch(PDO::FETCH_ASSOC)) {// چه حسنی داره
?>
<tr>
<td><?= $row['username'] ?></td>
<td><?= $row['password'] ?></td>
<td><?= $row[3] ?></td>
</tr>
<?php } ?>
</table>
اول چرا فانکشن بالا کار نمیکنه ؟ در صورتی که اگر فانکشن حذف کنم کار میکنه؟
دوم چطوری باید با PDO اطلاعات رو از دیتابیس بخونم
سوم چطوری با PDO اطلاعات رو ویرایش کنم
چهارم چطوری با PDO اطلاعات رو حذف کنم
پنجم مقادیری که با GET و POST ارسال شدن اند رو ایمن سازی کنم؟ آیا باید با MySqli ایمن سازی کنم؟
ششم چطوری بعد از اتصال به دیتابیس در PDO چک کنم آیا مثلا فلان مقدار در دیتابیس بود یا نه قبلا من با mysql_num_rows این کار رو انجام میدادم
هفتم فرق نمایش دادن while و foreach تو نمایش اطلاعات از دیتابیس چیه؟
هشتم فرق بین fetch() , fetchAll() در PDO چیه؟
نهم چطوری باید به یک اتصال پایان داد؟
دهم چرا در هنگام استفاده از While باید در کد روبرو رو نوشت ( منظورم Fetch(PDO::FETCH_ASSOC))