Artikel Directory
Hoe kinne jo gegevens opfreegje út in tabel yn in MySQL-database ? Fraachopdracht/kommando/syntaksis
MySQL Query gegevens
MySQL-databases brûke SQL SELECT-útspraken om gegevens te freegjen.
Jo kinne gegevens opfreegje yn 'e databank fia it mysql> kommando-prompt-finster, of fia in PHP-skript.
grammatika
It folgjende is de algemiene SELECT-syntaksis foar it freegjen fan gegevens yn in MySQL-database:
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- Yn de query statement kinne jo ien of mear tabellen brûke, de tabellen skiede mei komma's (,), en brûk de WHERE statement om query betingsten yn te stellen.
- It kommando SELECT kin ien of mear records lêze.
- Jo kinne in asterisk (*) brûke om oare fjilden te ferfangen, de SELECT-útspraak sil alle fjildgegevens fan 'e tabel weromjaan
- Jo kinne de WHERE-statement brûke om elke betingst op te nimmen.
- Jo kinne de gegevensoffset opjaan wêrby't de SELECT-útspraak de query begjint mei OFFSET.Standert is de offset 0.
- Jo kinne de eigenskip LIMIT brûke om it oantal weromjûne records yn te stellen.
Krij gegevens fia kommando-prompt
Yn it folgjende foarbyld sille wy it kommando SQL SELECT brûke om de gegevens fan 'e MySQL-gegevenstabel chenweiliang_tbl te krijen:
Instance
It folgjende foarbyld sil alle records fan 'e gegevenstabel chenweiliang_tbl werombringe:
Lês it datablêd:
select * from chenweiliang_tbl;
Brûk PHP-skript om gegevens te krijen
Brûk de PHP-funksje mysqli_query() en it SQL SELECT -kommando om gegevens op te heljen.
Dizze funksje wurdt brûkt om SQL-kommando's út te fieren, en dan wurdt de PHP-funksje mysqli_fetch_array() brûkt om tagong te krijen ta of alle opfrege gegevens út te fieren.
De funksje mysqli_fetch_array() hellet in rige op út 'e resultatenset as in assosjative array, in numerike array, of beide, en jout in array werom dy't generearre is út 'e rige dy't ophelle is út 'e resultatenset. As der gjin rigen mear binne, jout it falsk werom.
It folgjende foarbyld lêst alle records út de gegevens tabel chenweiliang_tbl.
Instance
Besykje it folgjende foarbyld om alle records fan 'e gegevenstabel chenweiliang_tbl te werjaan.
Brûk de mysqli_fetch_array MYSQL_ASSOC parameter om gegevens op te heljen:
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "<tr><td> {$row['chenweiliang_id']}</td> ".
"<td>{$row['chenweiliang_title']} </td> ".
"<td>{$row['chenweiliang_author']} </td> ".
"<td>{$row['submission_date']} </td> ".
"</tr>";
}
echo '</table>';
mysqli_close($conn);
?>Yn it boppesteande foarbyld wurdt elke rige fan lêzen lêzen tawiisd oan 'e fariabele $ row, en dan wurdt elke wearde útprinte.
Opmerking: Tink derom om de fariabele tusken krulhekels te setten as jo it yn in tekenrige brûke moatte.
Yn it boppesteande foarbyld is de twadde parameter fan 'e PHP mysqli_fetch_array()-funksje MYSQL_ASSOC . It ynstellen fan dizze parameter jout in assosjative array werom, en jo kinne de fjildnamme brûke as de yndeks fan 'e array.
PHP leveret in oare funksje, `mysqli_fetch_assoc()` , dy't ien rige út 'e resultatenset ophellet as in assosjative array. It jout in assosjative array werom basearre op 'e rigen dy't út 'e resultatenset ophelle binne; as der gjin rigen mear beskikber binne, jout it falsk werom.
Instance
Besykje it folgjende foarbyld, dat de funksje mysqli_fetch_assoc() brûkt om alle records fan 'e tabel chenweiliang_tbl út te fieren:
Brûk mysqli_fetch_assoc om gegevens op te heljen:
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_assoc 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_assoc($retval))
{
echo "<tr><td> {$row['chenweiliang_id']}</td> ".
"<td>{$row['chenweiliang_title']} </td> ".
"<td>{$row['chenweiliang_author']} </td> ".
"<td>{$row['submission_date']} </td> ".
"</tr>";
}
echo '</table>';
mysqli_close($conn);
?>Jo kinne ek de konstante MYSQL_NUM brûke as de twadde parameter fan 'e PHP-funksje mysqli_fetch_array (), dy't in array fan nûmers werombringt.
Instance
It folgjende foarbyld brûkt de parameter MYSQL_NUM om alle records yn 'e tabel chenweiliang_tbl wer te jaan:
Brûk de mysqli_fetch_array MYSQL_NUM parameter om gegevens op te heljen:
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
echo "<tr><td> {$row[0]}</td> ".
"<td>{$row[1]} </td> ".
"<td>{$row[2]} </td> ".
"<td>{$row[3]} </td> ".
"</tr>";
}
echo '</table>';
mysqli_close($conn);
?>De útfierresultaten fan 'e boppesteande trije foarbylden binne itselde.
ûnthâld release
It is in goede praktyk om rinnerkeûnthâld frij te meitsjen neidat wy in SELECT-statement hawwe útfierd.
It ûnthâld kin frijlitten wurde fia de PHP-funksje mysqli_free_result ().
It folgjende foarbyld toant it gebrûk fan dizze funksje.
Instance
Besykje de folgjende foarbylden:
Fergees ûnthâld mei mysqli_free_result:
<?
php
$dbhost = 'localhost:3306'; // mysql服务器主机地址
$dbuser = 'root'; // mysql用户名
$dbpass = '123456'; // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
$sql = 'SELECT chenweiliang_id, chenweiliang_title,
chenweiliang_author, submission_date
FROM chenweiliang_tbl';
mysqli_select_db( $conn, 'chenweiliang' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('无法读取数据: ' . mysqli_error($conn));
}
echo '<h2>陈沩亮博客 mysqli_fetch_array 测试<h2>';
echo '<table border="1"><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_NUM))
{
echo "<tr><td> {$row[0]}</td> ".
"<td>{$row[1]} </td> ".
"<td>{$row[2]} </td> ".
"<td>{$row[3]} </td> ".
"</tr>";
}
echo '</table>';
// 释放内存
mysqli_free_result($retval);
mysqli_close($conn);
?>Hopelik sil it artikel "Hoe kinne jo gegevens út in tabel yn in MySQL-database opfreegje? Query Statements/Commands/Syntax" dield op 'e blog fan Chen Weiliang ( https://www.chenweiliang.com/ ) jo nuttich wêze.
Fiel jo frij om de keppeling fan dit artikel te dielen: https://www.chenweiliang.com/cwl-461.html
