1

بابه‌ت: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

سڵاو هاوڕێیان،

ماوەیەکی درێژبوو لە وێبچن چالاکیم نەمابوو. ڕاستییەکەی گەلێک سەرقاڵی ژیان و خوێندن و کارکردن بووم. هیوام وایە هەموو لایەک لەش ساغ و سەلامەت بن.

پێم خۆش بوو لەو دەرفەتە کەمەی کە بۆم هەڵکەوت، ئەم بابەتەتان پێشکەش بکەم.


لەمانگی ١٢ ساڵی پارەوە، خۆشبەختانە PHP 7.0 کەوتۆتە بەردەست بە کۆمەڵێک گۆڕانکاری و تایبەتمەندی نوێوە. پێم وایە PHP 7 توانایەکی دیکە بەوێب دەدات و هەلێکی باشتر بۆ بەرهەمی بەهێزتر دەستەبەر دەکات.

لەنێو ئەو گۆڕانکارییانەی کە PHP 7 ئەنجامی داوە، وازلێهێنان و دوورخستنەوەی یەکێکە لە function ـە هەرە باوەکانی پەیوەندی بەستن بە بنکەی دراوەوە کە mysql_connect() ـە. پێم وایە بۆ هەندێک لە پرۆگرامەرەکان پەیامێکی زۆر دڵخۆشکەر نەبووبێت. بەدڵنیاییەوە. هەمیشە خووەکۆنەکان تەرککردنی گرانە.

This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:
mysqli_connect()
PDO::__construct()

ئەگەر چی لە PHP 5.5.0 ـەوە کەوتۆتە بەر deprecation (هانی بەکارنەهێنانی دراوە)، بەڵام لە PHP 7 دا بە تەواوی لەکارخراوە.
بۆ ئەوانەی کە دەمێکی بوو کاریان لەگەڵ ئەم درێژکراوەیەی PHP دا دەکرد، ئەمە تەنها پەیامێکی ناخۆش نییە، بەڵکو ئاگادارییەکی بەهێزیشە کە پێویست دەکات نەک هەر بۆ لەمەودوا ڕێگە و شێوازە نوێیەکانی پەیوەندی بەستن بە بنکەی دراوەوە بگیرێتە بەر، بەڵکو پڕۆژە کۆنەکانیش پێویستە نوێ بکرێنەوە بۆ نوێترین ئامرازەکان. هۆکارەکەی بەسادەیی ئەوەیە کە، ئەگەرچی لەئێستادا زۆربەری ڕاژەکارەکان ناوێرن PHP نوێ بکەنەوە بۆ PHP 7 بەهۆی ئەوەی کە زۆرێک لە پڕۆژەکان mysql_connect() بەکاردەهێنێت و ئەوەش دەبێتە هۆی لەکارکەوتنی ئاپڵیکەشنەکان، بەڵام لەداهاتوویەکی نزیک بۆ مامناوەنددا هەر نوێی دەکەنەوە. تەنها مەسەلەی کات و داواکارییە و هیچی تر. تا وەکوو پڕۆژە نوێیەکان تایبەتمەندی زیاتری PHP 7 بەکاربەرن، چانسی نوێکردنەوەی ئەو ڕأژەکارانە بۆ PHP 7 زۆرتر دەبێت.

لەئێستادا ئەگەر هێشتا پڕۆژەکانت لەکار نەکەوتووە، زۆر باشە. بەڵام هەر وا نامێنێتەوە.

لەبەرئەوە، پێویستە وەکوو بەڕێوەبەری پڕۆژە/پرۆگرامەر/وێبماستەر/بەڕێوەبەری تەکنیکی، مشووری ئەم بابەتە بخۆیت. خۆشبەختانەش ڕێگەکە نەک هەر ئاسانە، بەڵکو تایبەتمەندی زیاتریش دەداتە سیستمەکەت.

لەبری ئەم درێژکراوە کۆن و بەسەرچووە، PHP خاوەنی ٢ درێژکراوەی بەهێز و چالاکە کە دەتوانن ببنە جێگرەوەیەکی زۆر باش:

١. mysqli_connect()
٢. PDO


بەکورتی باس لەهەردووکیان دەکەم و بەهیوای ئەوەم بە زووترین کات شێوازی پەیوەندی بەستنەکانتان بگۆڕن.

بۆ مەبەستی تاقیکردنەوە، وای دادەنێین ئەم زانیارییانەی لای خوارەوە، ئەو زانیارییانەن کە من هەمن بۆ پەیوەندیکردن بە بنکەدراوەی MySQL ـەوە:

ناوی ڕاژە: localhost
ناوی بەکارهێنەر: broosk
وشەی تێپەڕبوون: webchin1234
ناوی بنکەی دراوە: foo

mysqli_connect():


بۆ درووستکردنی پەیوەندییەکە:

// درووستکردنی پەیوەنجییەکە
$connection = mysqli_connect("localhost", "broosk", "webchin1234", "foo");

// بپشکنە، بزانە پەیوەندییەکە بەستراوە؟
if (!$connection) {
    die("نەتوانرا پەیوەندی ببەسترێت: " . mysqli_connect_error());
}
echo "پەیوەندی بەستن سەرکەوتوو بوو";

بۆ داخستنی پەیوەندییەکە:

mysqli_close($connection);

بۆ پێدانی query بە بنکەی دراوە:

// درووستکردنی پەیوەنجییەکە
$connection = mysqli_connect("localhost", "broosk", "webchin1234", "foo");

// بپشکنە، بزانە پەیوەندییەکە بەستراوە؟
if (!$connection) {
    die("نەتوانرا پەیوەندی ببەسترێت: " . mysqli_connect_error());
}
echo "پەیوەندی بەستن سەرکەوتوو بوو";

$sql = "SELECT * FROM users";

$query = mysqli_query($connection, $sql);

while($results = mysqli_fetch_array($query)){
    
}


mysqli_close($connection);

ئەوەی سەرەوە Procedural ـە و بۆخۆم حەزی پێ ناکەم. هۆکاری ئەوەی کە داشمناوە ئەوەیە ئەزانم زۆرێک لە بەکارهێنەرانی وێبچن هێشتا، بەداخەوە، بە procedural کار دەکەن. بەهەرحاڵ، ئەگەر زانیاری زیاترت دەوێت لەسەر mysqli_connect OOP سەیرێکی ئێرە بکە. بەستەرەکەی خوارەوە بەس لە prepared statements دەکات بەشێوەیەکی سەرەکی، بەڵام نموونەی زۆر باشی تێدایە بۆ تێگەیشتن لەکۆی بەکارهێنانی ئامرازەکە وەک OOP:

http://php.net/manual/en/mysqli.prepare.php

PDO:

من بۆخۆم PDO بەکاردێنم و ئامرازێکی گەلێک تایبەتە. ئەگەرچی بۆ پڕۆژەی بچووک هێشتا MySQLi سەرکەوتووترە، بەڵام PDO بەستراوە نییە بەتەنها یەکجۆر بنکەی دراوەی وەک MySQL. دەتوانیت لەگەڵ PDO بەچەندین جۆری جیاواز بنکەی دراوەوە پەیوەندی ببەستیت، بەبەکارهێنانی هەمان method ـەکانییەوە. PDO کڵاسە، واتا بەکارهێنانی ئامرازەکانی بەشێوەی درووستکردنی object دەبێت، ئەگەرچی MySQLi ـش وەشانی OOP هەیە وەک لەسەرەوە ئاماژەم پێداوە.

بۆ پەیوەندی بەستن:

// درووستکردنی پەیوەنجییەکە
try {
    $connection = new PDO("mysql:host=localhost;dbname=foo", 'broosk', 'webchin1234');
    
    //لێرە وادەکەیت کە مۆدی پیشاندنی هەڵە بکرێتە بە شێوازی ئێکسێپشن. هەر بۆیە try و catch بەکاردەبەین
    $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "پەیوەندیکردنی سەرکەوتوو بوو"; 
}
catch(PDOException $e){
    echo "نەتوانرا پەیوەندی ببەسترێت: " . $e->getMessage();
}

نموونەیەکی سادەش بەبەکارهێنانی prepared statements:

// درووستکردنی پەیوەندییەکە
try {
    $connection = new PDO("mysql:host=localhost;dbname=foo", 'broosk', 'webchin1234');
    
    //لێرە وادەکەیت کە مۆدی پیشاندنی هەڵە بکرێتە بە شێوازی ئێکسێپشن. هەر بۆیە try و catch بەکاردەبەین
    $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $query = $connection->prepare("SELECT * FROM users WHERE username = ?");
    $query->bindValue(1, 'broosk');

    $query->execute();
    $results = $query->fetchAll(PDO::FETCH_OBJ);

    echo $results[0]->username;
}
catch(PDOException $e){
    echo "نەتوانرا پەیوەندی ببەسترێت: " . $e->getMessage();
}

بەهیوای سەرکەوتن.

2

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

دەستخۆش کاک برووسک، منیش پێموایە چیتر نابێت بیر لە بەکارهێنانی mysql_connect بکرێتەوە، چوونکە ئەلتەرناتیڤەکانی دیکە زۆر باشترن، بەتایبەت MySQLi کە هەر لەگەڵ بنکەی دراوەی MySQL کار بکەیت.

بابەتەکە هەڵدەواسم.

هیچ شتێك ئه‌وه‌نده‌ باش نییه‌ نه‌توانرێت باشتر بكرێت :::http://webdarej.com

3

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

سووپاستەکەم کاک ئاسۆ.
بەهیوای ئەوەی سوودی هەبێت بۆ هاوڕێیان.

4

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

دەستت خۆش بێت، ڕاستی زەحمەت بوو بۆ سەرەتا لە شێوازێکەوە بڕۆینە سەر شێوازێکی تر بەڵام بە ڕاهێنان و کارکردنی بەردەوام ڕادێیت لەسەری.

ئاسۆ نادری، ڕۆحت هەر لەگەڵمانە.

5 (دەستکاری کراوە: Rawan 2016-07-05 23:14:37)

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

دەستخۆش، تۆ زۆر پێشکەوتووی
منیش تا ئێستا mysqli_connect(): بەکاردێنم.

ڕووحت شاد مامۆستای گەورە ئاسۆ نادری، تۆ هەموو شتێکت فێر کردین.
لەگەل وێبچن هەموو شتێک ئاسانترە!

6

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

ئه‌و ده‌ستانه‌ت خۆشبێـت به‌هیوای كاری جوانتر و به‌رده‌وام بوونت له‌ دانانی بابه‌ته‌ به‌سووده‌كانت.

ژیان تۆ پێ ده‌گه‌یه‌نێت نه‌ك خۆت!

7

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

دوای دەست خۆشیم ،
پرسیارەکە ئەوەیە ، من تائێستا MYSQLIم بەکارنەبردوە و ئەمەوێت کاری لەسەر بکەم ، ئایا بەتەنها mysql ەکان بگۆرم بۆ mysqli ئایا کارەکان جێبەجێ دەبن؟ بۆ هەموو فەنکشنەکان؟ وەک لەنمونەکەی سەرەوە دەیبینم وایە.
سوپاس

ئه‌گه‌ر ئه‌ته‌وێت ژیان به‌ دڵخۆشی به‌ریته‌ سه‌ر...! هه‌موو شتێك شی مه‌كه‌ره‌وه‌..!!وه‌ هه‌موو شتێك ته‌فسیر مه‌كه‌..!!
وه‌ له‌ هه‌موو شتێكیش ورد مه‌به‌ره‌وه‌..!چونكه‌ ئه‌وانه‌ی ئه‌ڵماسیان شی كرده‌وه‌، بینییان ئه‌سڵه‌كه‌ی خه‌ڵوزه

8

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

فرمان نووسی:

دوای دەست خۆشیم ،
پرسیارەکە ئەوەیە ، من تائێستا MYSQLIم بەکارنەبردوە و ئەمەوێت کاری لەسەر بکەم ، ئایا بەتەنها mysql ەکان بگۆرم بۆ mysqli ئایا کارەکان جێبەجێ دەبن؟ بۆ هەموو فەنکشنەکان؟ وەک لەنمونەکەی سەرەوە دەیبینم وایە.
سوپاس


ئەتوانم بڵێم بەڵێ ، ئەگەر گۆرانکاریش هەبێت زۆر زۆر کەمە

9

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

Dlovan نووسی:
فرمان نووسی:

دوای دەست خۆشیم ،
پرسیارەکە ئەوەیە ، من تائێستا MYSQLIم بەکارنەبردوە و ئەمەوێت کاری لەسەر بکەم ، ئایا بەتەنها mysql ەکان بگۆرم بۆ mysqli ئایا کارەکان جێبەجێ دەبن؟ بۆ هەموو فەنکشنەکان؟ وەک لەنمونەکەی سەرەوە دەیبینم وایە.
سوپاس


ئەتوانم بڵێم بەڵێ ، ئەگەر گۆرانکاریش هەبێت زۆر زۆر کەمە

+ لە mysqliدا procedural query زیاد بووە، بۆیە پێویستە ئەو کویریانەی لە WHERE دا گۆڕاوی تێدا بەکارهاتووە بیگۆڕیت بۆ procedural بۆ ڕیگریکردن لە  SQL Injection

ئاسۆ نادری، ڕۆحت هەر لەگەڵمانە.

10

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

من بەم شێوەیە بەکارم هێناوە ئایا دەبێت بیگۆرم بە چی؟

<?php
$code = $_GET['code']
$sql = mysql_query("SELECT * FROM table WHERE id = $code");
while ($row= mysql_fetch_array($sql)){
    $nawy_syany = $row['nawy_syany'];

    echo '
    <tr><td>'.$nawy_syany.'</td></tr>';
    
}

?>
ئه‌گه‌ر ئه‌ته‌وێت ژیان به‌ دڵخۆشی به‌ریته‌ سه‌ر...! هه‌موو شتێك شی مه‌كه‌ره‌وه‌..!!وه‌ هه‌موو شتێك ته‌فسیر مه‌كه‌..!!
وه‌ له‌ هه‌موو شتێكیش ورد مه‌به‌ره‌وه‌..!چونكه‌ ئه‌وانه‌ی ئه‌ڵماسیان شی كرده‌وه‌، بینییان ئه‌سڵه‌كه‌ی خه‌ڵوزه

11

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

کاک فرمان لێرە هەموو زانیاریەکی تێدایە، لەسەر Connect, SELECT, Update, ...
https://www.w3schools.com/php/php_mysql_connect.asp

ئاسۆ نادری، ڕۆحت هەر لەگەڵمانە.

12

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

دەستتان خۆش ماندوم کردن

ئه‌گه‌ر ئه‌ته‌وێت ژیان به‌ دڵخۆشی به‌ریته‌ سه‌ر...! هه‌موو شتێك شی مه‌كه‌ره‌وه‌..!!وه‌ هه‌موو شتێك ته‌فسیر مه‌كه‌..!!
وه‌ له‌ هه‌موو شتێكیش ورد مه‌به‌ره‌وه‌..!چونكه‌ ئه‌وانه‌ی ئه‌ڵماسیان شی كرده‌وه‌، بینییان ئه‌سڵه‌كه‌ی خه‌ڵوزه

13

وه‌ڵام: [PHP] دەستەبەرداری ڕێگە کۆنەکەی پەیوەندیکردن بە!

ده‌سته‌كانت خۆش هه‌ميشه‌ له‌گه‌ل شتى نوێتر باشترده‌بێت

هیچ شتێك ئه‌وه‌نده‌ باش نییه‌ نه‌توانرێت باشتر بكرێت (ئاسۆ نادرى).
Aso Nadri