本文目录一览:
- php从mysql中输出结果:
- 程序员 PHP PHP和MySQL查询的结果集
- php获取mysql更新结果
- php查询mysql的数值结果怎么相加?
- php mysql 获取结果集的问题??
- PHP查询MYSQL的结果如何显示出来?
php从mysql中输出结果:
<?php
$setarr = array(4 => array('id' => 46, 'typename' => 'AAA'), 5 => array('id' => 46, 'typename' => 'BBB'));
$result = $keys = '';
foreach ($setarr as $key => $val) {
$result .= $keys . $val['typename'];
$keys = ',';
}
$setarr[4]['typename'] = $result;
array_pop($setarr);
print_r($setarr);
你这个问题真的很奇怪!!!!
程序员 PHP PHP和MySQL查询的结果集
<?php
$conn = mysql_connect("localhost", "root", "");
$select = mysql_select_db("books", $conn);
$query = "insert into computers(name,price,publish_data) ";
$query .= "values('JSP',28.00,'2008-11-1')";
$query = "select * from computers";
$result = mysql_query($query);
// 以下是使用mysql_result()函数来获取到查询结果
$num = mysql_num_rows($result);
for ($rows_count = 0; $rows_count < $num; $rows_count++) {
echo "书名:" . mysql_result($result, $rows_count, "name");
echo "价格:" . mysql_result($result, $rows_count, "price");
echo "出版日期:" . mysql_result($result, $rows_count, "publish_data") . "<br>";
}
// 以下是使用mysql_fetch_row()函数来获取到查询结果
while ($row = mysql_fetch_row($result)) {
echo "书号:" . $row[0] . "<br>";
echo "书名:" . $row[1] . "<br>";
echo "价格:" . $row[2] . "<br>";
echo "出版日期:" . $row[3] . "<br>";
echo "<br>";
}
// 以下是使用mysql_fetch_array()函数来获取到查询结果
while ($row = mysql_fetch_array($result)) {
echo "书号:" . $row[0] . "<br>";
echo "书名:" . $row[1] . "<br>";
echo "价格:" . $row["price"] . "<br>";
echo "出版日期:" . $row["publish_data"] . "<br>";
echo "<br>";
}
// mysql_fetch_assoc()同mysql_fetch_array($result,MYSQL_ASSOC)一样
while ($row = mysql_fetch_assoc($res)) {
echo $row['price'] . '::' . $row['publish_data'] . "<br>";
} // $row[0]不能取值
// 以下是使用mysql_fetch_object()函数来获取到查询结果
while ($row = mysql_fetch_object($result)) {
echo "书号:" . $row->id . "<br>";
echo "书名:" . $row->name . "<br>";
echo "价格:" . $row->price . "<br>";
echo "出版日期:" . $row->publish_data . "<br>";
echo "<br>";
}
?>
综合比较 本节主要介绍了获取查询结果集的4个函数,此处对它们进行综合比较。
- mysql_result():优点在于使用方便;而缺点在于功能少,一次调用只能获取结果数据集中的一行记录,对较大型的数据库效率较低。
- mysql_fetch_row():优点在于执行效率在4种方法中最高;不足在于只能用数字作为属性索引来获得属性值,在使用时非常容易出现混淆。
- mysql_fetch_array():执行效率同样很高,同mysql_fetch_row()相差无几,并且可以用属性名方式直接获取得属性值,因此,在实际应用中最常用。
- mysql_fetch_object():采用了面向对象的思想,在设计思路上更为先进,如果读者习惯于面向对象的思路来写程序,则会很自然的选择它。其次,该方法的优点还体现在,对于结构较为复杂的数据结果,在逻辑上显得更为清晰。
后3个函数的共同点在于,都是取得当前行的数据,然后自动滑向后一行。有时候,希望控制滑动的行数,这是常常搭配使用的一个函数是
mysql_data_seek()
,其定义为:
int mysql_data_seek(int result_identifier, int row_number)
调用该函数可以在结果集中向后滑动row_number
行,在下一次调用mysql_fetch_*
函数时,读取的将是向后滑动row_number
行后的记录。
php获取mysql更新结果
php有一个方法是mysql_affected_rows()
,这个方法的意思是获取上一次操作数据库的所影响的行数。
可以使用这个方法来判断是否update
语句是否执行成功。
直接使用mysql_query($sql)
,个人觉得其实也可以的,但是前提是数据库类型是那种自动提交类型,像MyISAM而不是需要手动提交的类型,像:InnoDB。
个人理解:自动提交类型会直接处理$sql
语句,只要这个语句没有错误,那么就一定是执行成功的。并且一定是已经执行了,但是需要手动提交的类型就算这个SQL没有错误,如果你没有手动提交那么这个语句是不会执行的,那么你的表中的数据其实没有改变,这个尽针对非select语句。
php查询mysql的数值结果怎么相加?
SELECT SUM("金额字段") AS cmoney FROM 表 WHERE 1;
然后你输出cmoney
这个就是相加的效果。
还有一种比较差点的方法就是:
-
SELECT 金额字段 FROM 表 WHERE 1;
- 获取你得到的所有信息,然后
foreach
把所有的金额相加就行。 实例:
$sql = "SELECT money FROM cg_money WHERE 1";
$query = mysql_query($sql);
$m = 0;
while ($rs = mysql_fetch_array($query)) {
$m = $m + $rs['money'];
}
echo $m;
这个也是可以获取所有的money
的,就是费事了点,还是上面的那个方法好滴,也就是楼上的那个方法。
php mysql 获取结果集的问题??
首先看传入的参数:第一个是resource
类型的结果集,是mysql_query($sql)
的返回值,第二个则是传入SQL语句。参数类型不一样。
再看函数体:mysql_fetch_assoc($result)
接受的传入类型是resource
类型,它有两种返回值的可能,一种是如果结果集存在行记录,则返回一行记录,是关联数组类型的。如果没有行记录,即查询结果为空,则返回布尔类型的false
。
看第一种方法,while()
循环是当判断条件为true
时执行,就是如果mysql_fetch_assoc($result)
没有返回false
,即有数据库查询后有行记录,就会在循环体中把返回值$rs
添加到数组$row
中,$row
将会是二维数组,键是int
类型的0, 1, 2...
。
而你说的第二个getOne()
将只能返回一行查询记录,如果没有记录,将会返回false
。
你可以用print_r()
打印出getOne
和getAll()
的结果。
比如数据库存在是id=1, name=aa
;id=2, name=bb
两条记录,则getAll()
打印出的是:
Array([0] => Array('id' => 1, 'name' => 'aa'), [1] => Array('id' => 2, 'name' => 'bb'))
getOne
打印出的是Array('id' => 1, 'name' => 'aa')
(我初学PHP,不排除分析错误)
PHP查询MYSQL的结果如何显示出来?
发送($sql
, $cnn
)有个连接$cnn
数据库。
最后一句不要,用while
循环。
望你重看另外的教程。