Chapterبەش 9 · Lectureوانە 9.2

Creating a database with phpMyAdminدروستکردنی بنکەدراوە بە phpMyAdmin

Start Apache and MySQL in XAMPP, open phpMyAdmin, and build a database and a table screen by screen: name, collation, columns, primary key, the SQL tab and Browse — plus the users table of Lab 7.

Apache و MySQL لە XAMPP هەڵبکە، phpMyAdmin بکەرەوە و و شاشە بە شاشە دروست بکە: ناو، ، ، ، تابی SQL و Browse — لەگەڵ users ـی تاقیگەی 7.

19 min read21 خولەک خوێندنەوە · 18 stepsهەنگاو

What you will learnچی فێر دەبیت

  • Explain what phpMyAdmin is, where it comes from and what you can do with it.
  • Start Apache and MySQL in XAMPP and open phpMyAdmin at the right address and port.
  • Create a database with a utf8mb4 collation and a table with typed columns.
  • Set a primary key with AUTO_INCREMENT and avoid the mistakes in the course screenshots.
  • Run SQL in the SQL tab and check the rows in Browse.
  • ڕوون بکەیتەوە چییە، لە کوێوە دێت و چی دەتوانیت پێی بکەیت.
  • Apache و MySQL لە XAMPP هەڵبکەیت و phpMyAdmin بە ناونیشان و دروست بکەیتەوە.
  • بە ⁦utf8mb4⁩ و بە جۆردار دروست بکەیت.
  • لەگەڵ ⁦AUTO_INCREMENT⁩ دابنێیت و خۆت لە هەڵەکانی وێنەکانی وانەکە بپارێزیت.
  • لە تابی SQL فەرمانی SQL جێبەجێ بکەیت و لە Browse بپشکنیت.

What phpMyAdmin isphpMyAdmin چییە

In the last lecture you wrote SQL by hand. Most beginners first meet MySQL through : a free web application, written in PHP, that lets you manage MySQL databases in your through a (graphical user interface) — forms, buttons and tables instead of typed commands.

لە وانەی پێشوودا SQLـت بە دەست نووسی. زۆربەی سەرەتاکاران یەکەم جار لە ڕێگەی ـەوە MySQL دەناسن: بەرنامەیەکی وێبیی بەخۆڕاییە، بە PHP نووسراوە و ڕێگەت دەدات MySQL لە بەڕێوە ببەیت لە ڕێگەی — ، دوگمە و لە جیاتی فەرمانی نووسراو.

  • Website: www.phpmyadmin.net.
  • It is already included in the WAMP and XAMPP packages, so you do not install it separately.
  • You open it at http://localhost/phpmyadmin.
  • ماڵپەڕ: ⁦www.phpmyadmin.net⁩.
  • لە ناو پاکێجەکانی WAMP و XAMPPدا هەیە، بۆیە پێویست ناکات بە جیا دایبمەزرێنیت.
  • لە http://localhost/phpmyadmin دەیکەیتەوە.

What you can do with it

چی دەتوانیت پێی بکەیت

phpMyAdmin gives you access to your MySQL database through a GUI. You can easily:

phpMyAdmin لە ڕێگەی دەستت دەگەیەنێتە MySQLـەکەت. بە ئاسانی دەتوانیت:

What phpMyAdmin can do (from the lecture and the summary), and where to find itئەوەی phpMyAdmin دەتوانێت بیکات (لە وانەکە و پوختەکەوە) و لە کوێ بیدۆزیتەوە
TaskکارWhere in phpMyAdminلە کوێی phpMyAdmin
Create, edit and drop (delete) databasesدروستکردن، دەستکاریکردن و سڕینەوەی ⁦(Drop)⁩ New in the left panel, or the Databases tab: Create; tick a database and press Drop; a database's Operations tab can rename itNew لە پانێڵی چەپ، یان تابی Databases: Create؛ نیشان بکە و Drop دابگرە؛ تابی Operationsـی دەتوانێت ناوەکەی بگۆڕێت
Create, edit and delete tablesدروستکردن، دەستکاریکردن و سڕینەوەی Open a database: Create new table; the Operations tab can rename, empty or delete a table بکەرەوە: ⁦Create new table⁩؛ تابی Operations دەتوانێت ناو بگۆڕێت، بەتاڵی بکات یان بیسڕێتەوە
Create, edit and delete fields (columns)دروستکردن، دەستکاریکردن و سڕینەوەی Open a table, Structure tab: Change, Drop, Add column بکەرەوە، تابی Structure: Change، Drop، ⁦Add column⁩
Enter any MySQL statementنووسینی هەر فەرمانێکی MySQLThe SQL tabتابی SQL
View and print the table structureبینین و چاپکردنی پێکهاتەی Structure tab, then Printتابی Structure، پاشان Print
Generate PHP codeدروستکردنی کۆدی PHPAfter running a query: the Create PHP code linkدوای جێبەجێکردنی : بەستەری ⁦Create PHP code⁩
View the data in table formatبینینی زانیارییەکان بە شێوەی The Browse tabتابی Browse
Only a window onto SQLتەنها پەنجەرەیەک بۆ SQL

phpMyAdmin is like a bank's counter window. You hand your request through the window and a clerk does the work in the back. In the same way, every button you press in phpMyAdmin is turned into SQL — CREATE TABLE, INSERT INTO, SELECT — and sent to MySQL. It is the same SQL you learned; phpMyAdmin is only a window onto it.

phpMyAdmin وەک پەنجەرەی پێشوازیی بانکێک وایە. داواکارییەکەت لە پەنجەرەکەوە دەدەیت و فەرمانبەرێک لە پشتەوە کارەکە دەکات. بە هەمان شێوە، هەر دوگمەیەک لە phpMyAdmin دابگریت دەگۆڕدرێت بۆ SQL — CREATE TABLE، INSERT INTO، SELECT — و دەنێردرێت بۆ MySQL. هەمان ئەو SQLـەیە کە فێری بوویت؛ phpMyAdmin تەنها پەنجەرەیەکە بۆ سەری.

Where the analogy stops workingسنووری ئەم نموونەیە

Your PHP pages do not use phpMyAdmin at all: they talk to MySQL directly. phpMyAdmin is a tool for you, the developer.

لاپەڕە PHPـەکانت هیچ پەیوەندییان بە phpMyAdminـەوە نییە: ڕاستەوخۆ قسە لەگەڵ MySQL دەکەن. phpMyAdmin ئامرازێکە بۆ تۆ، پەرەپێدەر.

Quick checkپشکنینی خێراDoes your PHP page need phpMyAdmin to read data from MySQL?ئایا لاپەڕە PHPـەکەت بۆ خوێندنەوەی زانیاری لە MySQL پێویستی بە phpMyAdmin هەیە؟

The whole path in seven stepsهەموو ڕێگاکە بە حەوت هەنگاو

This is the path from a switched-off computer to a table full of data. The sections below show each step screen by screen.

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

Steps to create a databaseهەنگاوەکانی دروستکردنی بنکەدراوە
  1. Start XAMPPXAMPP هەڵبکە

    Turn Apache and MySQL on. Step 1

    Apache و MySQL هەڵبکە. هەنگاوی 1

  2. Open phpMyAdminphpMyAdmin بکەرەوە

    Go to localhost/phpmyadmin. Step 2

    بڕۆ بۆ localhost/phpmyadmin. هەنگاوی 2

  3. Create the databaseبنکەدراوەکە دروست بکە

    Give it a name and press Create. Step 3

    ناوێکی پێ بدە و Create دابگرە. هەنگاوی 3

  4. Create a tableخشتەیەک دروست بکە

    Choose a name and the number of columns. Step 4

    ناو و ژمارەی هەڵبژێرە. هەنگاوی 4

  5. Set the columnsستوونەکان ڕێک بخە

    Name, data type, length, primary key. Step 5

    ناو، ، درێژی، . هەنگاوی 5

  6. Write SQLSQL بنووسە

    Use the SQL tab to run your own commands. Step 6

    تابی SQL بەکار بهێنە بۆ جێبەجێکردنی فەرمانەکانی خۆت. هەنگاوی 6

  7. Browse the dataسەیری زانیارییەکان بکە

    Check the rows you have saved. Step 7

    ئەو بپشکنە کە هەڵتگرتوون. هەنگاوی 7

Step 1: start Apache and MySQLهەنگاوی ⁦1: Apache⁩ و MySQL هەڵبکە

Open the XAMPP and press Start next to Apache and MySQL. Both must be running before you open phpMyAdmin: Apache serves the phpMyAdmin pages, and MySQL keeps your data.

XAMPP بکەرەوە و لە تەنیشت Apache و MySQL دوگمەی Start دابگرە. هەردووکیان دەبێت کار بکەن پێش ئەوەی phpMyAdmin بکەیتەوە: Apache لاپەڕەکانی phpMyAdmin دەنێرێت و MySQL زانیارییەکانت هەڵدەگرێت.

Step 1: Apache and MySQL are running (green). MySQL listens on port 3306.هەنگاوی ⁦1: Apache⁩ و MySQL کار دەکەن (سەوز). MySQL گوێ لە ⁦3306⁩ دەگرێت.Course material

Step 2: open phpMyAdminهەنگاوی ⁦2: phpMyAdmin⁩ بکەرەوە

Type this address in your browser: localhost/phpmyadmin. means this computer, the one you are sitting at. The address 127.0.0.1 means the same thing, so phpMyAdmin may write "Server: 127.0.0.1".

ئەم ناونیشانە لە بنووسە: localhost/phpmyadmin. واتە ئەم کۆمپیوتەرە، ئەوەی لە بەردەمیدا دانیشتوویت. ناونیشانی 127.0.0.1یش هەمان واتای هەیە، بۆیە لەوانەیە phpMyAdmin بنووسێت «⁦Server: 127.0.0.1⁩».

Step 2: the phpMyAdmin home page. The right-hand panels show that XAMPP runs MariaDB 10.4 and PHP 8.1. (Some database names in the left panel were removed for privacy.)هەنگاوی 2: phpMyAdmin. پانێڵەکانی لای ڕاست پیشان دەدەن کە XAMPP ⁦10.4⁩ و ⁦PHP 8.1⁩ کار پێ دەکات. (هەندێک ناوی لە پانێڵی چەپ بۆ پاراستنی زانیاریی کەسی لابراون.)Course material
  • Left panel: the New link and the list of databases. information_schema, mysql, performance_schema and phpmyadmin belong to the server itself: do not change or delete them. information_schema is the server's catalog, the database that describes all the others (The database describes itself).
  • Tabs at the top: Databases, SQL, Export, Import and more. The tabs change when you open a database or a table.
  • Database server: which server you are connected to (here MariaDB 10.4.25), as which user (root@localhost), and its (utf8mb4).
  • Web server: the Apache and PHP versions, and the PHP phpMyAdmin uses, such as mysqli.
  • پانێڵی چەپ: بەستەری New و لیستی . information_schema، mysql، performance_schema و phpmyadmin هی خودی : دەستکارییان مەکە و مەیانسڕەوە. information_schema کاتالۆگی ، ئەو هەموو ئەوانی تر وەسف دەکات (بنکەدراوە خۆی وەسف دەکات).
  • تابەکانی سەرەوە: Databases، SQL، Export، Import و زیاتر. کاتێک یان دەکەیتەوە تابەکان دەگۆڕێن.
  • ⁦Database server⁩: بە کام پەیوەستیت (لێرە ⁦MariaDB 10.4.25⁩)، وەک کام بەکارهێنەر (root@localhost) و (utf8mb4).
  • ⁦Web server⁩: وەشانی Apache و PHP و ئەو PHP کە phpMyAdmin بەکاریان دەهێنێت، وەک mysqli.
Quick checkپشکنینی خێراWhich address opens phpMyAdmin in a normal XAMPP installation?لە دامەزراندنێکی ئاسایی XAMPPدا کام ناونیشان phpMyAdmin دەکاتەوە؟

Step 3: create the databaseهەنگاوی 3: بنکەدراوەکە دروست بکە

  1. Click New in the left panel (or open the Databases tab).
  2. Type the database name, for example mydb.
  3. Choose the collation utf8mb4_general_ci (or utf8mb4_unicode_ci) so that Kurdish text is stored correctly.
  4. Press Create. The new database appears in the left panel.
  1. لە پانێڵی چەپ کلیک لە New بکە (یان تابی Databases بکەرەوە).
  2. ناوی بنووسە، بۆ نموونە mydb.
  3. utf8mb4_general_ci (یان utf8mb4_unicode_ci) هەڵبژێرە بۆ ئەوەی دەقی کوردی بە دروستی هەڵبگیرێت.
  4. Create دابگرە. نوێیەکە لە پانێڵی چەپدا دەردەکەوێت.
Step 3: type a name, keep a utf8mb4 collation, press Create. (Some database names were removed for privacy.)هەنگاوی 3: ناوێک بنووسە، ⁦utf8mb4⁩ بهێڵەوە، Create دابگرە. (هەندێک ناوی بۆ پاراستنی زانیاریی کەسی لابراون.)Course material
Definitionپێناسە

The rules a database uses to compare and sort text in a , for example whether 'a' and 'A' count as equal. In phpMyAdmin choose a utf8mb4_... collation such as utf8mb4_general_ci (ci = case-insensitive).

ئەو یاسایانەیە کە بۆ بەراوردکردن و ڕیزکردنی دەق لە بەکاری دەهێنێت، بۆ نموونە ئایا 'a' و 'A' وەک یەک دادەنرێن. لە phpMyAdminـدا ڕیزبەندییەکی utf8mb4_... هەڵبژێرە وەک utf8mb4_general_ci (ci = هەستیار نییە بە گەورە و بچووکیی پیت).

Behind the button, phpMyAdmin runs this SQL:

لە پشتی دوگمەکەوە، phpMyAdmin ئەم SQLـە جێبەجێ دەکات:

SQLRuns in the databaseلە ناو بنکەدراوە کار دەکات
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Quick checkپشکنینی خێراWhy choose a utf8mb4_... collation for a new database?بۆچی بۆ نوێ utf8mb4_... هەڵدەبژێریت؟

کۆرسی داتابەیس 1 - MySQL creating database & tableAmeers Code Complex · Kurdish (Sorani)کوردی (سۆرانی) · 1.6K viewsبینین · 69 likesلایک

A Kurdish (Sorani) lesson: create a MySQL database and a table in XAMPP, with phpMyAdmin and with SQL commands.

وانەیەک بە کوردیی سۆرانی: دروستکردنی و لە ، هەم بە و هەم بە فەرمانەکانی .

Kurdish (Sorani) video: creating a database and a table

ڤیدیۆیەکی کوردیی سۆرانی: دروستکردنی و .

Step 4: create a tableهەنگاوی 4: خشتەیەک دروست بکە

After you create the database, phpMyAdmin opens it. It says No tables found in database and shows the Create new table form. Type the table name and the number of columns it will have, then press Create (older versions: Go). You can add more columns later.

دوای دروستکردنی ، phpMyAdmin دەیکاتەوە. دەنووسێت ⁦No tables found in database⁩ و ⁦Create new table⁩ پیشان دەدات. ناوی و ژمارەی بنووسە، پاشان Create دابگرە (لە وەشانە کۆنەکاندا: Go). دواتر دەتوانیت زیاتر زیاد بکەیت.

Step 4: name the table (stage_4) and say how many columns it has (4). (Some database names in the left panel were removed for privacy.)هەنگاوی 4: ناوی ⁦(stage_4)⁩ بنووسە و بڵێ چەند هەیە ⁦(4)⁩. (هەندێک ناوی لە پانێڵی چەپ بۆ پاراستنی زانیاریی کەسی لابراون.)Course material
PHP Full Course for free 🐘Bro Code · Englishئینگلیزی · 3M viewsبینین · 65K likesلایک · Partبەشی 3:34:57–3:39:07 (ofلە 4:00:00)

How to create a function, send values in with arguments, and get a result back with return, with a short practice example.

چۆن دروست بکەیت، بە بنێریتە ناوی و بە return ئەنجامێک لێی وەربگریتەوە، لەگەڵ ڕاهێنانێکی کورت.

Watch 3:34:57–3:39:07: building a users table in phpMyAdmin

لە ⁦3:34:57⁩ تا ⁦3:39:07⁩ سەیر بکە: دروستکردنی لە .

Step 5: set the columnsهەنگاوی 5: ستوونەکان ڕێک بخە

Now phpMyAdmin shows one row of settings for each column. Fill in at least these boxes:

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

The column settings in phpMyAdminڕێکخستنەکانی لە phpMyAdmin
BoxخانەWhat to enterچی بنووسیت
Namethe column name: small letters, no spaces (id, name)ناوی : پیتی بچووک، بێ بۆشایی (id، name)
Typethe : INT, VARCHAR, DATE, ...: INT، VARCHAR، DATE، ...
Length/Valuesrequired for VARCHAR (the maximum number of characters, e.g. 100); leave it empty for INTبۆ VARCHAR پێویستە (زۆرترین ژمارەی پیت، بۆ نموونە ⁦100⁩)؛ بۆ INT بەتاڵی بهێڵەوە
DefaultNone unless the column needs a None، مەگەر پێویست بێت
Nulltick only if the column may be left emptyتەنها نیشانی بکە ئەگەر بتوانێت بەتاڵ بمێنێتەوە
IndexPRIMARY for the id column; UNIQUE for a column like emailPRIMARY بۆ id؛ UNIQUE بۆ وەک email
A_Itick on the id column: (you may need to scroll right to see this box)لەسەر id نیشانی بکە: (لەوانەیە پێویست بێت بۆ لای ڕاست بخلیسکێنیت تا ئەم خانەیە ببینیت)
Step 5 as shown on the course slide: every column has a name, a type and (for VARCHAR) a length. The primary key is still missing here — see the correction below. (Some database names in the left panel were removed for privacy.)هەنگاوی 5 وەک لە سلایدی وانەکەدا: هەر ناو، جۆر و (بۆ VARCHAR) درێژیی هەیە. هێشتا لێرە نییە — ڕاستکردنەوەکەی خوارەوە ببینە. (هەندێک ناوی لە پانێڵی چەپ بۆ پاراستنی زانیاریی کەسی لابراون.)Course material

Step 5: set the columnsهەنگاوی 5: ستوونەکان ڕێک بخە

Do not forget the primary keyکلیلی سەرەکی لەبیر مەکە

Columns are the questionsستوونەکان پرسیارەکانن

The columns are the questions: name, age, salary. Every row that you save later answers all of them, like one filled-in form.

پرسیارەکانن: ناو، تەمەن، مووچە. هەر کە دواتر هەڵیدەگریت وەڵامی هەموویان دەداتەوە، وەک پڕکراوە.

Quick checkپشکنینی خێراOn the id row, which two settings give every new row its own number automatically?لەسەر ڕیزی id، کام دوو ڕێکخستن خۆکارانە ژمارەیەکی تایبەت دەدەن بە هەر نوێ؟

17 | Create Database Tables in MySQL PHP Tutorial | 2023 | Learn PHP Full Course for BeginnersDani Krossing · Englishئینگلیزی · 114K viewsبینین · 2.2K likesلایک · Partبەشی 26:48–29:58 (ofلە 40:57)

Explains what a primary key is, why every table needs one, and how it identifies each row.

ڕوون دەکاتەوە چییە، بۆچی هەموو پێویستی پێیەتی و چۆن هەر بە جیا دەناسێنێتەوە.

Watch 26:48–29:58: the PRIMARY KEY chapter only

لە ⁦26:48⁩ تا ⁦29:58⁩ سەیر بکە: تەنها بەشی PRIMARY KEY.

Step 5: set the columnsهەنگاوی 5: ستوونەکان ڕێک بخە

Save the tableخشتەکە هەڵبگرە

Choose the storage engine InnoDB (the default) and press Save. Before saving you can press Preview SQL to see the statement phpMyAdmin will run. With the primary key set correctly it is:

بزوێنەری هەڵگرتنی InnoDB هەڵبژێرە (بنەڕەتییە) و Save دابگرە. پێش هەڵگرتن دەتوانیت ⁦Preview SQL⁩ دابگریت بۆ بینینی ئەو فەرمانەی phpMyAdmin جێبەجێی دەکات. کاتێک بە دروستی دانرابێت، ئەمەیە:

SQLRuns in the databaseلە ناو بنکەدراوە کار دەکات
CREATE TABLE stage_4 (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    age INT NOT NULL,
    salary INT NOT NULL,
    PRIMARY KEY (id)
) ENGINE = InnoDB;
Explain the codeڕوونکردنەوەی کۆدەکە
Lineدێڕی 2

A_I ticked: AUTO_INCREMENT.

⁦A_I⁩ نیشانکراو: AUTO_INCREMENT.

Lineدێڕی 6

Index = PRIMARY on id.

⁦Index = PRIMARY⁩ لەسەر id.

Step 6: the SQL tabهەنگاوی 6: تابی SQL

Open the table and click the SQL tab. Here you can type any SQL statement and press Go to run it. The buttons SELECT *, SELECT, INSERT, UPDATE, DELETE write a ready-made statement for this table that you only have to complete; Clear empties the box and Format tidies it.

بکەرەوە و کلیک لە تابی SQL بکە. لێرە دەتوانیت هەر فەرمانێکی SQL بنووسیت و Go دابگریت بۆ جێبەجێکردنی. دوگمەکانی SELECT *، SELECT، INSERT، UPDATE، DELETE فەرمانێکی ئامادە بۆ ئەم دەنووسن کە تەنها پێویستە تەواوی بکەیت؛ Clear چوارچێوەکە بەتاڵ دەکات و Format ڕێکی دەخات.

Step 6: the SQL tab runs any command you type. Here the INSERT button has written a template with [value-1] … [value-4]. (Some database names in the left panel were removed for privacy.)هەنگاوی 6: تابی SQL هەر فەرمانێک بنووسیت جێبەجێی دەکات. لێرەدا دوگمەی INSERT نموونەیەکی بە ⁦[value-1]⁩ … ⁦[value-4]⁩ نووسیوە. (هەندێک ناوی لە پانێڵی چەپ بۆ پاراستنی زانیاریی کەسی لابراون.)Course material

Replace the sample values [value-1] … [value-4] with real data. Leave out id, because AUTO_INCREMENT fills it in, and write numbers without quotes. You can add several rows at once:

نرخە نموونەییەکانی [value-1] … [value-4] بە زانیاریی ڕاستەقینە بگۆڕە. id مەنووسە، چونکە AUTO_INCREMENT پڕی دەکاتەوە و ژمارەکان بەبێ کۆتەیشن بنووسە. دەتوانیت چەند پێکەوە زیاد بکەیت:

SQLRuns in the databaseلە ناو بنکەدراوە کار دەکات
INSERT INTO `stage_4` (`name`, `age`, `salary`) VALUES
('Aram', 22, 300),
('Shilan', 25, 450),
('Karwan', 31, 520);
Explain the codeڕوونکردنەوەی کۆدەکە
Lineدێڕی 1

The backticks (`) mark table and column names; phpMyAdmin always writes them.

باکتیکەکان ناوی و دیاری دەکەن؛ phpMyAdmin هەمیشە دەیاننووسێت.

Step 7: browse the dataهەنگاوی 7: سەیری زانیارییەکان بکە

The Browse tab shows every row in the table. phpMyAdmin runs SELECT * FROM `stage_4` for you and shows the result as a table, 25 rows per page. From here you can edit, copy or delete rows, export them, or print them.

تابی Browse هەموو پیشان دەدات. phpMyAdmin بۆ تۆ SELECT * FROM `stage_4` جێبەجێ دەکات و ئەنجامەکە وەک پیشان دەدات، ⁦25⁩ لە هەر لاپەڕەیەکدا. لێرەوە دەتوانیت دەستکاری بکەیت، کۆپی بکەیت یان بیانسڕیتەوە، هەناردەیان بکەیت، یان چاپیان بکەیت.

SQLRuns in the databaseلە ناو بنکەدراوە کار دەکات
SELECT * FROM `stage_4`;
Step 7: Browse shows every row in the table. (In this slide screenshot the five rows themselves are cut off; only the header row is visible.) (Some database names in the left panel were removed for privacy.)هەنگاوی ⁦7: Browse⁩ هەموو پیشان دەدات. (لەم وێنەیەی سلایدەکەدا پێنج بڕاون؛ تەنها ڕیزی سەردێڕ دیارە.) (هەندێک ناوی لە پانێڵی چەپ بۆ پاراستنی زانیاریی کەسی لابراون.)Course material
  • Edit inline / Edit change a value; Delete (after ticking rows) removes them — phpMyAdmin asks you first.
  • Create PHP code turns the query into a PHP string you can paste into your script, for example $sql = "SELECT * FROM `stage_4`";.
  • Print and Export under Query results operations print the rows or save them as a file (SQL, CSV, ...).
  • ⁦Edit inline / Edit⁩ نرخێک دەگۆڕن؛ Delete (دوای نیشانکردنی ) دەیانسڕێتەوە — phpMyAdmin سەرەتا پرسیارت لێ دەکات.
  • ⁦Create PHP code⁩ دەگۆڕێت بۆ زنجیرەیەکی PHP کە دەتوانیت لە دایبنێیت، بۆ نموونە $sql = "SELECT * FROM `stage_4`";.
  • Print و Export لە ژێر ⁦Query results operations⁩ چاپ دەکەن یان وەک فایل هەڵیان دەگرن (SQL، CSV، ...).
Quick checkپشکنینی خێراWhich tab do you use to see every row of a table?بۆ بینینی هەموو کام تاب بەکار دەهێنیت؟

Lab 7: the php_mysql database and the users tableتاقیگەی 7: بنکەدراوەی ⁦php_mysql⁩ و خشتەی users

Lab 7 teaches how to connect your MySQL database to your PHP project: you build a registration page (see Insert and select). First the page needs a database and a table, created in phpMyAdmin on your web server. Follow the same steps:

تاقیگەی 7 فێرت دەکات چۆن MySQLـەکەت بە پرۆژە PHPـەکەتەوە ببەستیتەوە: لاپەڕەیەکی خۆتۆمارکردن دروست دەکەیت (بڕوانە زیادکردن و هەڵبژاردن). سەرەتا لاپەڕەکە پێویستی بە و هەیە، کە لە phpMyAdminـی دروستیان دەکەیت. هەمان هەنگاوەکان بگرە بەر:

  1. Open phpMyAdmin and click NewphpMyAdmin بکەرەوە و کلیک لە New بکە

    The New link is on the left side.

    بەستەری New لە لای چەپە.

  2. Create the database php_mysqlبنکەدراوەی ⁦php_mysql⁩ دروست بکە

    Write the name php_mysql and click Create.

    ناوی php_mysql بنووسە و کلیک لە Create بکە.

    Lab 7: creating the database php_mysql (older phpMyAdmin; choose a utf8mb4 collation in the drop-down). The picture is cropped, and other database names were removed for privacy.تاقیگەی 7: دروستکردنی ⁦php_mysql (phpMyAdmin⁩ـی کۆنتر؛ لە لیستەکەدا ⁦utf8mb4⁩ هەڵبژێرە). وێنەکە بڕاوە و ناوی تر بۆ پاراستنی زانیاریی کەسی لابراون.Course material
  3. Create the table users with 4 columnsخشتەی users بە 4 ستوون دروست بکە

    Write the table name in Name, the number of fields in Number of columns (4), and click Go.

    ناوی لە Name بنووسە، ژمارەی لە ⁦Number of columns⁩ ⁦(4)⁩ و کلیک لە Go بکە.

    Lab 7: type users in Name, keep 4 columns, press Go. (Some database names in the left panel were removed for privacy.)تاقیگەی 7: لە Name بنووسە users، 4 بهێڵەوە، Go دابگرە. (هەندێک ناوی لە پانێڵی چەپ بۆ پاراستنی زانیاریی کەسی لابراون.)Course material
  4. Define the four fields and click Saveچوار ستوونەکە پێناسە بکە و کلیک لە Save بکە

    Use the names and types in the table below.

    ناو و جۆرەکانی خوارەوە بەکار بهێنە.

Lab 7: the php_mysql database and the users tableتاقیگەی 7: بنکەدراوەی ⁦php_mysql⁩ و خشتەی users

The four fields, correctedچوار ستوونەکە، ڕاستکراوە

Fields of the users table (corrected) users (ڕاستکراوە)
FieldTypeجۆرExtraزیادەIndex
idINTA_I ()PRIMARY
nameVARCHAR(30)
emailVARCHAR(50)UNIQUE
passwordVARCHAR(255) (the lab says 50)VARCHAR(255) (تاقیگەکە دەڵێت ⁦50⁩)
The lab's screenshot: note the typo passwrod in the last row — name the column password. (Some database names in the left panel were removed for privacy.)وێنەی تاقیگەکە: سەرنج بدە هەڵەی نووسینی passwrod لە دوا ڕیزدا — ناو بنێ password. (هەندێک ناوی لە پانێڵی چەپ بۆ پاراستنی زانیاریی کەسی لابراون.)Course material

Lab 7: the php_mysql database and the users tableتاقیگەی 7: بنکەدراوەی ⁦php_mysql⁩ و خشتەی users

The same setup in SQLهەمان ئامادەکاری بە SQL

The SQL for the whole lab setup, if you prefer the SQL tab:

SQLـی هەموو ئامادەکارییەکەی تاقیگەکە، ئەگەر تابی SQLـت پێ باشترە:

SQLRuns in the databaseلە ناو بنکەدراوە کار دەکات
CREATE DATABASE php_mysql CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE php_mysql;
CREATE TABLE users (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(30) NOT NULL,
    email VARCHAR(50) NOT NULL,
    password VARCHAR(255) NOT NULL,
    PRIMARY KEY (id),
    UNIQUE (email)
);
Explain the codeڕوونکردنەوەی کۆدەکە
Lineدێڕی 7

Spelled password, long enough for password_hash().

بە password نووسراوە و بە ئەندازەی پێویست درێژە بۆ password_hash().

Lineدێڕی 9

A UNIQUE : the same email cannot be registered twice. A second insert with the same email fails with #1062 - Duplicate entry '...' for key 'email'.

UNIQUE: هەمان ناتوانرێت دوو جار بەکار بهێنرێت. زیادکردنی دووەم بە هەمان شکست دەهێنێت بە #1062 - Duplicate entry '...' for key 'email'.

Common mistakesهەڵە باوەکان

Problems you may meet in XAMPP and phpMyAdminئەو کێشانەی لەوانەیە لە XAMPP و phpMyAdmin بیانبینیت
ProblemکێشەCauseهۆکارFixچارەسەر
The browser says "This site can't be reached" at localhost/phpmyadmin دەڵێت «⁦This site can't be reached⁩» لە localhost/phpmyadminApache is not running, or it uses another portApache کار ناکات، یان پۆرتێکی تر بەکار دەهێنێتStart Apache; try localhost:81/phpmyadmin if you moved it to port 81Apache هەڵبکە؛ ئەگەر گواستتەوە بۆ پۆرتی ⁦81⁩، localhost:81/phpmyadmin تاقی بکەرەوە
phpMyAdmin shows #2002 - No connection could be made because the target machine actively refused itphpMyAdmin پیشان دەدات #2002 - No connection could be made because the target machine actively refused itMySQL is not runningMySQL کار ناکاتStart MySQL in the XAMPP control panelMySQL لە XAMPP هەڵبکە
INSERT fails: Field 'id' doesn't have a default valueINSERT شکست دەهێنێت: ⁦Field 'id' doesn't have a default value⁩id is not AUTO_INCREMENTid ⁦AUTO_INCREMENT⁩ نییەSet Index = PRIMARY and tick A_I⁦Index = PRIMARY⁩ دابنێ و ⁦A_I⁩ نیشان بکە
#1054 - Unknown column 'password'The column is spelled differently (passwrod) بە جۆرێکی تر نووسراوە (passwrod)Rename the column in Structure → Changeناوی لە Structure → Change بگۆڕە
Kurdish text appears as question marksدەقی کوردی وەک نیشانەی پرسیار دەردەکەوێتThe database or table uses a latin1 collation یان ⁦latin1⁩ بەکار دەهێنێتUse a utf8mb4_... collation utf8mb4_... بەکار بهێنە
The PHP code cannot find the databaseکۆدی PHP نادۆزێتەوەA different name in phpMyAdmin and in PHP (My DB vs mydb)ناوی جیاواز لە phpMyAdmin و PHPدا (My DB بەرامبەر mydb)Use small letters, no spaces, and copy the exact nameپیتی بچووک، بێ بۆشایی و ناوەکە ڕێک کۆپی بکە
Someone deleted mysql or information_schemaکەسێک mysql یان information_schemaی سڕیەوەThese are the server's own databasesئەمانە خودی Never touch them; reinstall XAMPP if they are damagedهەرگیز دەستیان لێ مەدە؛ ئەگەر تێکچوون XAMPP دووبارە دابمەزرێنەوە

Exercisesڕاهێنانەکان

Exerciseڕاهێنان1. Lab 7, part 1: database and table1. تاقیگەی 7، بەشی 1: بنکەدراوە و خشتە

Do the first part of Lab 7 on your own computer: start XAMPP, open phpMyAdmin, create the database php_mysql and the table users with the four fields from the lab (use the corrected column name and length).

بەشی یەکەمی تاقیگەی 7 لەسەر کۆمپیوتەرەکەی خۆت بکە: XAMPP هەڵبکە، phpMyAdmin بکەرەوە، php_mysql و users بە چوار تاقیگەکە دروست بکە (ناو و درێژیی ڕاستکراوەی بەکار بهێنە).

Hintئاماژە

Remember PRIMARY + A_I on id, UNIQUE on email, and the spelling password.

⁦PRIMARY + A_I⁩ لەسەر id، UNIQUE لەسەر email و نووسینی password لەبیر مەکە.

Show answerوەڵامەکە پیشان بدە
  1. Start Apache and MySQL in the XAMPP control panel (both green).
  2. Open localhost/phpmyadmin (or localhost:81/phpmyadmin if Apache uses port 81) and click New.
  3. Name: php_mysql, collation utf8mb4_general_ci, Create.
  4. Table name users, 4 columns, Create/Go.
  5. Rows: id INT, Index PRIMARY, A_I ticked; name VARCHAR 30; email VARCHAR 50, Index UNIQUE; password VARCHAR 255. Save.
  6. Check the Structure tab: the key icon is next to id and Extra says AUTO_INCREMENT.
  1. لە ⁦XAMPP Apache⁩ و MySQL هەڵبکە (هەردووکیان سەوز).
  2. localhost/phpmyadmin بکەرەوە (یان localhost:81/phpmyadmin ئەگەر Apache پۆرتی ⁦81⁩ بەکار دەهێنێت) و کلیک لە New بکە.
  3. ناو: php_mysql، : utf8mb4_general_ci، Create.
  4. ناوی users، 4 ، Create/Go.
  5. ڕیزەکان: id INT، ⁦Index PRIMARY⁩، ⁦A_I⁩ نیشانکراو؛ name ⁦VARCHAR 30⁩؛ email ⁦VARCHAR 50⁩، ⁦Index UNIQUE⁩؛ password ⁦VARCHAR 255⁩. Save.
  6. تابی Structure بپشکنە: ئایکۆنی کلیل لە تەنیشت idـە و Extra دەڵێت AUTO_INCREMENT.

The same result in SQL is shown at the end of the Lab 7 section.

هەمان ئەنجام بە SQL لە کۆتایی بەشی تاقیگەی 7 پیشان دراوە.

Exerciseڕاهێنان2. Practise on your own computer: a database2. لەسەر کۆمپیوتەرەکەی خۆت ڕاهێنان بکە: بنکەدراوە

Create a table in phpMyAdmin and save a form into it: (a) in phpMyAdmin, create a table log with the columns id, name and password; (b) add one test row with the SQL tab and check it in Browse; (c) then build the PHP form that saves what a visitor types.

لە phpMyAdmin دروست بکە و تێدا هەڵبگرە: (أ) لە phpMyAdmin log بە id، name و password دروست بکە؛ (ب) بە تابی SQL تاقیکردنەوە زیاد بکە و لە Browse بیپشکنە؛ (ج) پاشان ئەو PHPـیە دروست بکە کە ئەوەی سەردانکەر دەینووسێت هەڵیدەگرێت.

Show answerوەڵامەکە پیشان بدە
SQLRuns in the databaseلە ناو بنکەدراوە کار دەکات
-- (a) in the SQL tab of your database (or with the Create table form)
CREATE TABLE log (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    password VARCHAR(255) NOT NULL
);
-- (b) one test row, then open the Browse tab
INSERT INTO log (name, password) VALUES ('test', 'not-a-real-password');

(c) The form and the PHP that saves it (with a prepared statement and a hashed password) are built step by step in A form that saves what is typed.

(ج) و ئەو PHPـەی هەڵی دەگرێت (بە و هاشکراو) هەنگاو بە هەنگاو لە فۆرمێک کە ئەوەی دەنووسرێت هەڵدەگرێت دروست دەکرێن.

Exerciseڕاهێنان3. The missing primary key3. کلیلی سەرەکیی ونبوو

A classmate built the stage_4 table exactly like the slide's screenshot. Now INSERT INTO stage_4 (name, age, salary) VALUES ('Hana', 24, 400); fails. Explain why and fix the table in phpMyAdmin.

هاوپۆلێک stage_4ی ڕێک وەک وێنەی سلایدەکە دروست کرد. ئێستا INSERT INTO stage_4 (name, age, salary) VALUES ('Hana', 24, 400); شکست دەهێنێت. ڕوونی بکەرەوە بۆچی و لە phpMyAdmin چاک بکە.

Show answerوەڵامەکە پیشان بدە

The id column has no AUTO_INCREMENT and no default value, and the INSERT does not give one, so MySQL (in strict mode) refuses the row: Field 'id' doesn't have a default value. Fix: Structure tab → Change on id → Index PRIMARY, tick A_I → Save. In SQL:

id نە AUTO_INCREMENTی هەیە نە و INSERTـەکەش نرخێکی پێ نادات، بۆیە MySQL (لە ⁦strict mode⁩) ڕەت دەکاتەوە: ⁦Field 'id' doesn't have a default value⁩. چارەسەر: تابی Structure → Change لەسەر id ← Index PRIMARY، ⁦A_I⁩ نیشان بکە ← Save. بە SQL:

SQLRuns in the databaseلە ناو بنکەدراوە کار دەکات
ALTER TABLE stage_4 MODIFY id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;

Summary and reviewپوختە و پێداچوونەوە

  • phpMyAdmin is a free web GUI for MySQL/MariaDB, included in XAMPP and WAMP, at localhost/phpmyadmin.
  • Seven steps: start XAMPP → open phpMyAdmin → create the database → create a table → set the columns → SQL tab → Browse.
  • Give every table a primary key: id, INT, Index PRIMARY, A_I ticked.
  • Use small-letter names without spaces and a utf8mb4 collation.
  • phpMyAdmin only writes SQL for you: every action is a CREATE, INSERT, SELECT, ... statement.
  • phpMyAdmin ئامرازێکی وێبیی بەخۆڕاییە کە بە ⁦MySQL/MariaDB⁩ بەڕێوە دەبات؛ لە XAMPP و WAMPدا هەیە، لە localhost/phpmyadmin.
  • حەوت هەنگاو: XAMPP هەڵبکە ← phpMyAdmin بکەرەوە ← دروست بکە ← دروست بکە ← ڕێک بخە ← تابی SQL → Browse.
  • هەموو پێ بدە: id، INT، ⁦Index PRIMARY⁩، ⁦A_I⁩ نیشانکراو.
  • ناوی پیتی بچووک بێ بۆشایی و utf8mb4 بەکار بهێنە.
  • phpMyAdmin تەنها SQL بۆ تۆ دەنووسێت: هەر کارێک فەرمانێکی CREATE، INSERT، SELECT، ...ـە.
Review questionsپرسیارەکانی پێداچوونەوە
What is phpMyAdmin, and where do you open it?phpMyAdmin چییە و لە کوێ دەیکەیتەوە؟

A free web tool written in PHP for managing MySQL/MariaDB through a graphical interface. It comes with XAMPP/WAMP and opens at http://localhost/phpmyadmin (plus the port number if Apache does not use port 80).

ئامرازێکی وێبیی بەخۆڕاییە، بە PHP نووسراوە، بۆ بەڕێوەبردنی ⁦MySQL/MariaDB⁩ لە ڕێگەی . لەگەڵ ⁦XAMPP/WAMP⁩ دێت و لە ⁦http://localhost/phpmyadmin⁩ دەکرێتەوە (لەگەڵ ژمارەی پۆرت ئەگەر Apache پۆرتی ⁦80⁩ بەکار نەهێنێت).

List the things phpMyAdmin lets you do.ئەو کارانە ڕیز بکە کە phpMyAdmin ڕێگەت دەدات بیانکەیت.

Create, edit and drop databases; create, edit and delete tables and fields; enter any MySQL statement; view and print table structure; generate PHP code; view data in table format.

دروستکردن، دەستکاریکردن و سڕینەوەی ؛ دروستکردن، دەستکاریکردن و سڕینەوەی و ؛ نووسینی هەر فەرمانێکی MySQL؛ بینین و چاپکردنی پێکهاتەی ؛ دروستکردنی کۆدی PHP؛ بینینی زانیارییەکان بە شێوەی .

Why must Apache and MySQL both be running?بۆچی دەبێت Apache و MySQL هەردووکیان کار بکەن؟

Apache serves the phpMyAdmin web pages; MySQL is the database server that phpMyAdmin talks to. Without Apache the page does not open; without MySQL phpMyAdmin shows error #2002.

Apache لاپەڕە وێبییەکانی phpMyAdmin دەنێرێت؛ MySQL ئەو کە phpMyAdmin قسەی لەگەڵ دەکات. بەبێ Apache لاپەڕەکە ناکرێتەوە؛ بەبێ ⁦MySQL phpMyAdmin⁩ هەڵەی ⁦#2002⁩ پیشان دەدات.

What do Index = PRIMARY and A_I do on the id column?⁦Index = PRIMARY⁩ و ⁦A_I⁩ لەسەر ستوونی id چی دەکەن؟

PRIMARY makes id the primary key (unique, never empty). A_I (AUTO_INCREMENT) gives each new row the next number automatically, so INSERT does not need to give an id.

PRIMARY id دەکات بە (دووبارە نابێتەوە، هەرگیز بەتاڵ نییە). ⁦A_I (AUTO_INCREMENT)⁩ خۆکارانە ژمارەی دواتر دەدات بە هەر نوێ، بۆیە INSERT پێویست ناکات id بدات.

What is the difference between the SQL tab and the Browse tab?جیاوازیی نێوان تابی SQL و تابی Browse چییە؟

The SQL tab runs any statement you type. Browse runs SELECT * on the table and shows the rows, with links to edit, delete, export and print them.

تابی SQL هەر فەرمانێک بنووسیت جێبەجێی دەکات. Browse لەسەر SELECT * جێبەجێ دەکات و پیشان دەدات، لەگەڵ بەستەر بۆ دەستکاریکردن، سڕینەوە، هەناردەکردن و چاپکردنیان.

Videoڤیدیۆ

Watch a videoسەیری ڤیدیۆیەک بکە

A video that viewers liked a lot and praised in their comments, chosen for this lesson.ڤیدیۆیەک کە بینەران زۆریان پێ خۆش بووە و لە کۆمێنتەکانیاندا ستایشیان کردووە، بۆ ئەم وانەیە هەڵبژێردراوە.

16 | Create a Database in MySQL PHP Tutorial | 2023 | Learn PHP Full Course for BeginnersDani Krossing · Englishئینگلیزی · 218K viewsبینین · 3.4K likesلایک

Shows how to start XAMPP, open phpMyAdmin, create a new database and understand what tables are, step by step.

هەنگاو بە هەنگاو پیشان دەدات چۆن کارپێدەکەیت، دەکەیتەوە، نوێ دروست دەکەیت و تێدەگەیت چییە.

Whole video: XAMPP, phpMyAdmin, a new database, tables and first SQL

هەموو ڤیدیۆکە: ، ، نوێ، و یەکەم هەنگاوەکانی .

Lesson complete!وانەکە تەواو بوو!

Well done. Review the key terms, then go on to the next lesson.دەستخۆش. سەیرێکی زاراوە سەرەکییەکان بکەرەوە، پاشان بڕۆ بۆ وانەی داهاتوو.

Key termsزاراوە سەرەکییەکان

Next lessonوانەی داهاتوو

Better SELECT Queries: Conditions, Ranges, Lists, Patterns and NULLباشترکردنی فەرمانی SELECT: مەرجەکان، ماوەکان، لیست، شێوازی دەق و NULL

References and further readingسەرچاوەکان و خوێندنەوەی زیاتر

This lecture is a first edition. The Kurdish text and terminology are waiting for review by Kurdish IT teachers.ئەم وانەیە چاپی یەکەمە. دەقە کوردییەکە و زاراوەکانی چاوەڕێی پێداچوونەوەی مامۆستایانی کوردی بواری IT ن.