Sut mae cronfa ddata MySQL yn holi data mewn tabl?Datganiad Ymholiad/Gorchymyn/Cystrawen

Sut i ymholi data o dabl mewn cronfa ddata MySQL ? Datganiad/gorchymyn/cystrawen ymholiad

MySQL Data ymholiad

Mae cronfeydd data MySQL yn defnyddio datganiadau SQL SELECT i ymholi am ddata.

Gallwch chi ymholi data yn y gronfa ddata trwy'r ffenestr mysql> command prompt, neu trwy sgript PHP.

gramadeg

Y canlynol yw'r gystrawen SELECT gyffredinol ar gyfer cwestiynu data mewn cronfa ddata MySQL:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[OFFSET M ][LIMIT N]
  • Yn y datganiad ymholiad, gallwch ddefnyddio un neu fwy o dablau, gwahanu'r tablau â choma (,), a defnyddio'r datganiad BLE i osod amodau ymholiad.
  • Gall y gorchymyn SELECT ddarllen un neu fwy o gofnodion.
  • Gallwch ddefnyddio seren (*) i gymryd lle meysydd eraill, bydd y datganiad SELECT yn dychwelyd holl ddata maes y tabl
  • Gallwch ddefnyddio'r datganiad WHERE i gynnwys unrhyw amod.
  • Gallwch nodi'r gwrthbwyso data lle mae'r datganiad SELECT yn cychwyn yr ymholiad gyda OFFSET.Yn ddiofyn, y gwrthbwyso yw 0.
  • Gallwch ddefnyddio'r eiddo LIMIT i osod nifer y cofnodion a ddychwelwyd.

Cael data trwy orchymyn yn brydlon

Yn yr enghraifft ganlynol, byddwn yn defnyddio'r gorchymyn SQL SELECT i gael data tabl data MySQL chenweiliang_tbl:

enghraifft

Bydd yr enghraifft ganlynol yn dychwelyd holl gofnodion y tabl data chenweiliang_tbl:

Darllenwch y daflen ddata:

select * from chenweiliang_tbl;

Defnyddiwch sgript PHP i gael data

Defnyddiwch y ffwythiant PHP mysqli_query() a'r gorchymyn SQL SELECT i adfer data.

Defnyddir y ffwythiant hwn i weithredu gorchmynion SQL, ac yna defnyddir y ffwythiant PHP mysqli_fetch_array() i gael mynediad at neu allbynnu'r holl ddata a holwyd.

Mae'r ffwythiant mysqli_fetch_array() yn adfer rhes o'r set ganlyniadau fel arae gysylltiol, arae rhifol, neu'r ddau, ac yn dychwelyd arae a gynhyrchwyd o'r rhes a adferwyd o'r set ganlyniadau. Os nad oes mwy o resi, mae'n dychwelyd ffug.

Mae'r enghraifft ganlynol yn darllen yr holl gofnodion o'r tabl data chenweiliang_tbl.

enghraifft

Rhowch gynnig ar yr enghraifft ganlynol i arddangos holl gofnodion y tabl data chenweiliang_tbl.

Defnyddiwch y paramedr mysqli_fetch_array MYSQL_ASSOC i nôl data:

<?
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 yr enghraifft uchod, mae pob rhes o gofnodion a ddarllenir yn cael ei neilltuo i'r newidyn $ row, ac yna mae pob gwerth yn cael ei argraffu.

Nodyn: Cofiwch amgáu'r newidyn mewn cromfachau cyrliog os oes angen i chi ei ddefnyddio mewn llinyn.

Yn yr enghraifft uchod, ail baramedr y ffwythiant PHP mysqli_fetch_array() yw MYSQL_ASSOC . Mae gosod y paramedr hwn yn dychwelyd arae gysylltiol, a gallwch ddefnyddio enw'r maes fel mynegai'r arae.

Mae PHP yn darparu ffwythiant arall, `mysqli_fetch_assoc()` , sy'n adfer un rhes o'r set ganlyniadau fel arae gysylltiol. Mae'n dychwelyd arae gysylltiol yn seiliedig ar y rhes a adferwyd o'r set ganlyniadau; os nad oes mwy o resi ar gael, mae'n dychwelyd ffug.

enghraifft

Rhowch gynnig ar yr enghraifft ganlynol, sy'n defnyddio'r ffwythiant mysqli_fetch_assoc() i allbynnu pob cofnod o'r tabl chenweiliang_tbl:

Defnyddiwch mysqli_fetch_assoc i nôl data:

<?
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);
?>

Gallwch hefyd ddefnyddio'r cyson MYSQL_NUM fel ail baramedr y swyddogaeth PHP mysqli_fetch_array(), sy'n dychwelyd amrywiaeth o rifau.

enghraifft

Mae'r enghraifft ganlynol yn defnyddio'r paramedr MYSQL_NUM i arddangos pob cofnod yn y tabl chenweiliang_tbl:

Defnyddiwch y mysqli_fetch_array MYSQL_NUM paramedr i nôl data:

<?
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);
?>

Mae canlyniadau allbwn y tair enghraifft uchod yr un peth.


rhyddhau cof

Mae'n arfer da rhyddhau cof cyrchwr ar ôl i ni weithredu datganiad SELECT.

Gellir rhyddhau'r cof trwy'r swyddogaeth PHP mysqli_free_result().

Mae'r enghraifft ganlynol yn dangos y defnydd o'r swyddogaeth hon.

enghraifft

Rhowch gynnig ar yr enghreifftiau canlynol:

Cof am ddim gyda chanlyniad mysqli_free_:

<?
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);
?>
 

Gobeithio y bydd yr erthygl "Sut i Ymholi Data o Dabl mewn Cronfa Ddata MySQL? Datganiadau Ymholiad/Gorchmynion/Cystrawen" a rennir ar flog Chen Weiliang ( https://www.chenweiliang.com/ ) o gymorth i chi.

Mae croeso i chi rannu'r ddolen erthygl hon: https://www.chenweiliang.com/cwl-461.html

I ddatgloi mwy o driciau cudd🔑, croeso i ymuno â'n sianel Telegram!

Rhannwch a hoffwch os ydych chi'n ei hoffi! Eich cyfrannau a'ch hoff bethau yw ein cymhelliant parhaus!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Sgroliwch i'r brig