⑴ 怎样遍历php数据库中某一字段的所有数据呢
$sql = "select * from xxxx";
$data = xxxx($sql) //执行sql
foreach($data as $v){
var_mp($v);
}
⑵ php foreach遍历数据表,顺便写清楚连接mysql数据库的详细内容,数据如果为a,表名为b,要遍历b中所有字段
<?php
$mysql_server = "127.0.0.1";
$mysql_username = "root";
$mysql_password = "";
$mysql_dbname = "a";
if (isset($_GET['username']) && !empty($_GET['username'])) {
$con = mysql_connect($mysql_server, $mysql_username, $mysql_password) or die ('Could not connect to mysql server!');
mysql_select_db($mysql_dbname) or die('Could not select database!');
$username = $_GET['username'];
$sql = "SELECT 表列名 FROM b";
$arrays=mysql_fetch_assoc(mysql_query($sql));
foreach($arrays['列名'] as $v) { echo $v." "; }
mysql_close($con);
}
?>
⑶ php mysql遍历数据库字段重复了
你用的是mysql_fetch_array吧,使用mysql_fetch_assoc,它仅仅返回关联数组,不会像mysql_fetch_array一样在关联索引之外还加上数字索引
⑷ 在php中有张数据表 如果一个字段的值分多级分类,怎么才能遍历查询出分开显示到模板
/**
*如果出现多级分类且在一张表中,此时你需要增添字段确定分类间的关系
*通常做法是在数据表中加一个字段如'pid',如果id==pid即判定为父子关系
*/
//如这张表
//如果需要找出中国下面的分类,只需要找出所有pid=1即可
SELECT*FROMtableWHEREpid=1;
⑸ PHP 中Fetch,FetchAll从数据库中取数据,遍历出来的都是字符串吗
举例,首先看了pymysql里面的cursor类,关于execute、fetchone和fetchall定义如下:
#调用self._query方法进行查询
def execute(self, query, args=None):
"""Execute a query
:param str query: Query to execute.
:param args: parameters used with query. (optional)
:type args: tuple, list or dict
:return: Number of affected rows
:rtype: int
If args is a list or tuple, %s can be used as a placeholder in the query.
If args is a dict, %(name)s can be used as a placeholder in the query.
"""
while self.nextset():
pass
query = self.mogrify(query, args)
result = self._query(query)
self._executed = query
return result
#调用_do_get_result获取查询结果
def _query(self, q):
conn = self._get_db()
self._last_executed = q
self._clear_result()
conn.query(q)
self._do_get_result()
return self.rowcount
#这里获取结果
def _do_get_result(self):
conn = self._get_db()
self._result = result = conn._result
self.rowcount = result.affected_rows
self.description = result.description
self.lastrowid = result.insert_id
self._rows = result.rows
self._warnings_handled = False
if not self._defer_warnings:
self._show_warnings()
其实看到这里代码逻辑已经很清楚了,在调用cursor.execute执行SQL的时候,就将MySQL查询的结果放到result这个变量里了,也就是说结果集放到了客户端的内存变量里,那么获取数据的方式也就是从这个内存变量里去获取数据,只是获取的行为有所不同而已了。
def fetchone(self):
"""Fetch the next row"""
self._check_executed()
if self._rows is None or self.rownumber >= len(self._rows):
return None
result = self._rows[self.rownumber]
self.rownumber += 1
return result
def fetchmany(self, size=None):
"""Fetch several rows"""
self._check_executed()
if self._rows is None:
return ()
end = self.rownumber + (size or self.arraysize)
result = self._rows[self.rownumber:end]
self.rownumber = min(end, len(self._rows))
return result
def fetchall(self):
"""Fetch all the rows"""
self._check_executed()
if self._rows is None:
return ()
if self.rownumber:
result = self._rows[self.rownumber:]
else:
result = self._rows
self.rownumber = len(self._rows)
return result
口说无凭,我们直接通过Wireshark抓包来证明一下,首先我在本地执行脚本如下,然后我监听本地的网卡流量
import pymysql
conn = pymysql.connect(host='xxx', port=3306,
user='xucl', password='xuclxucl', database='xucl')
cursor = conn.cursor()
cursor.execute("select * from t")
注意,我这里并没有执行fetch操作,如果监听到的包里面包含了结果,那么就证明我们前面的分析是正确的,话不多说开始实验,Wireshark抓包如下:
果然跟我们之前的预测是一致的,即使没有进行fetch操作,MySQL也将结果集发送到客户端了。另外关于结果集发送,可以参考我另外一篇文章:《由一个抓瞎的SQL引申出去》
结论:
客户端执行SQL的时候,MySQL一次性将结果集发送给了客户端
客户端接收到结果集以后存储本地内存变量中
fetch结果只是从这个本地变量中获取,fetchone/fetchmany/fetchall只是获取行为的不通,因此对于MySQL来说并没有什么不通的。
⑹ PHP程序:循环查询数据库字段的方法
完整的代码如下:
$con = mysql_connect('localhost(服务器地址)', '数据库用户名', '数据库密码');
//数据库连接。
if (!$con)
{
die('Could not connect: ' . mysql_error());
}//连接失败输出错误
mysql_select_db('数据库名', $con);
$sql = "select Name from 表名;";
$result = mysql_query($sql,$con);
while($row= mysql_fetch_array($result)){
echo $row['Name'];
}
⑺ php如何遍历mysql数据库de,结果集
你好,这个简单,假设用户名字段是name,用户提交的用户名为$name,邮箱为$email
$sql="select id from person where name='$name' or email='$email'";
执行后,判断结果集,如果结果集不为空,则不允许注册,为空的话,可以注册。
⑻ php如何把数据库中的值遍历输出到select option中
比如一张表中有2个字段,id和name,现在你把这张表中的所有的值都取出来放在一个二维数组$arr中了,那么现在来遍历这个$arr数组
echo"<selectname=''>";
foreach($arras$key=>$vo){
echo"<optionvalue=$vo['id']>$vo['name']</option>";
}
echo"</select>";
遍历就是这样了,当然我是用echo 输出的了,记得要写在一对<select></select>的里面
⑼ 如何用php将数据库中的信息遍历到下拉框选项中
<?php
$con=mysql_connect("localhost","root","");//连接数据库
mysql_select_db('test');//选择数据库
?>
<html>
<head>
<title>dropdownfrommysql</title>
</head>
<body>
<h1>dropdownfrommysql</h1>
<formaction="#"method="post">
<select>
<optionvalue=0>--请选择--</option>
<?php
$sql="selectvalfromcustomwherefield='hook_load'";//sql语句
$result=mysql_query($sql,$con);//执行sql语句
while($row=mysql_fetch_array($result))
{
echo"<optionvalue='$row[val]'>$row[val]</option>";//循环,拼凑下拉框选项
}
?>
</select>
</form>
</body>
</html>
⑽ php对mysql数据库遍历操作
既然是遍历,那就将数据库指针先移到第一条记录,逐次取出数据进行运算,下移指针,直到库结束。
通常的代码如下:
mysql_data_seek($result,0);//指针复位
while($row=mysql_fetch_array($result)){
//对每行记录进行运算处理,如:echo$row['name']."<br/>";
}