‘壹’ php中的mysql函数的参数格式问题
给你找了些资料:
介绍的挺详细的:
mysql_fetch_array函数
--
从结果集中取得一行作为关联数组(是以你所搜索的字段作为的键名),或数字数组(也就是你所说的0,1,2,3...),或二者兼有
相关说明
array
mysql_fetch_array
(
resource
result
[,
int
result_type])
返回根据从结果集取得的行生成的数组,如果没有更多行则返回
false。
mysql_fetch_array()
是
mysql_fetch_row()
的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。
如果结果中的两个或以上的列具有相同字段名,最后一列将优先。要访问同名的其它列,必须用该列的数字索引或给该列起个别名。对有别名的列,不能再用原来的列名访问其内容(本例中的
'field')。
还是看几个例子:
例子
1.
相同字段名的查询
select
table1.field
as
foo,
table2.field
as
bar
from
table1,
table2
有一点很重要必须指出,用
mysql_fetch_array()
并不明显
比用
mysql_fetch_row()
慢,而且还提供了明显更多的值。
mysql_fetch_array()
中可选的第二个参数
result_type
是一个常量,可以接受以下值:mysql_assoc,mysql_num
和
mysql_both。本特性是
php
3.0.7
起新加的。本参数的默认值是
mysql_both。
如果用了
mysql_both,将得到一个同时包含关联和数字索引的数组。用
mysql_assoc
只得到关联索引(如同
mysql_fetch_assoc()
那样),用
mysql_num
只得到数字索引(如同
mysql_fetch_row()
那样)。
注:
该函数返回的字段名是大小写敏感的。
例子
2.
mysql_fetch_array
使用
mysql_num
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_num))
{
printf
("id:
%s
name:
%s",
$row[0],
$row[1]);
}
mysql_free_result($result);
?>
例子
3.
mysql_fetch_array
使用
mysql_assoc
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_assoc))
{
printf
("id:
%s
name:
%s",
$row["id"],
$row["name"]);
}
mysql_free_result($result);
?>
例子
4.
mysql_fetch_array
使用
mysql_both
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_both))
{
printf
("id:
%s
name:
%s",
$row[0],
$row["name"]);
}
mysql_free_result($result);
此例中的"while
($row
=
mysql_fetch_array($result,
mysql_both))"
也可以将括号中的第二个参数去掉,既等价于:
"while
($row
=
mysql_fetch_array($result))"
?>
---------------------------------------------------------------------
仔细看看这些
相信对你有所帮助
‘贰’ PHP操作MySQL,删除一行数据库,怎么写
删除一条记录简单方法,应该说是最简单的入门级的了.
mysql>delete
from
表名
where
id=1;
query
ok,
这样就可以删除了,
如果你和php教程
mysql配置只要利用php连接到数据库教程再用php
mysql_query("delete
from
表名
where
id=1");就可以删除了。
?php
$con
=
mysql_connect("localhost","peter","abc123");
if
(!$con)
{
die('could
not
connect:
'
.
mysql_error());
}
mysql_select_db("my_db",
$con);
mysql_query("delete
from
person
where
lastname='griffin'");
mysql_close($con);
?
下面看一下关于mysql
delete语法.
删除数据库中的数据
delete
from
语句用于从数据库表中删除记录。
语法
delete
from
table_name
where
column_name
=
some_value
注释:sql
对大小写不敏感。delete
from
与
delete
from
等效。
为了让
php
执行上面的语句,我们必须使用
mysql_query(
函数。该函数用于向
sql
连接发送查询和命令
‘叁’ php mysql如何查询数据库总的表名啊,
利用mysql_list_tables函数,然后循环输出下结果,网上例子很多的。
‘肆’ thinkphp 怎么实现对mysql做到创建表,修改字段,添加字段,删除字段
<?php
class MysqlManage{
/*创建数据库,并且主键是aid
* table 要查询的表名
*/
function createTable($table){
$sql="CREATE TABLE IF NOT EXISTS `$table` (`aid` INT NOT NULL primary key)ENGINE = InnoDB;";
M()->execute($sql);
$this->checkTable($table);
}
/*
* 检测表是否存在,也可以获取表中所有字段的信息
* table 要查询的表名
* return 表里所有字段的信息
*/
function checkTable($table){
$sql="desc `$table`";
$info=M()->execute($sql);
return $info;
}
/*
* 检测字段是否存在,也可以获取字段信息(只能是一个字段)
* table 表名
* field 字段名
*/
function checkField($table,$field){
$sql='desc `$table` $field';
$info=M()->execute($sql);
return $info;
}
/*
* 添加字段
* table 表名
* info 字段信息数组 array
* return 字段信息 array
*/
function addField($table,$info){
$sql="alter table `$table` add column";
$sql.=$this->filterFieldInfo();
M()->execute($sql);
$this->checkField($table,$info['name']);
}
/*
* 修改字段
* 不能修改字段名称,只能修改
*/
function editField($table,$info){
$sql="alter table `$table` modify ";
$sql.=$this->filterFieldInfo($info);
M()->execute($sql);
$this->checkField($table,$info['name']);
}
/*
* 字段信息数组处理,供添加更新字段时候使用
* info[name] 字段名称
* info[type] 字段类型
* info[length] 字段长度
* info[isNull] 是否为空
* info['default'] 字段默认值
* info['comment'] 字段备注
*/
private function filterFieldInfo($info){
if(!is_array($info))
return
$newInfo=array();
$newInfo['name']=$info['name'];
$newInfo['type']=$info['type'];
switch($info['type']){
case 'varchar':
case 'char':
$newInfo['length']=empty($info['length'])?100:$info['length'];
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']=empty($info['default'])?'':'DEFAULT '.$info['default'];
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
case 'int':
$newInfo['length']=empty($info['length'])?7:$info['length'];
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']=empty($info['default'])?'':'DEFAULT '.$info['default'];
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
case 'text':
$newInfo['length']='';
$newInfo['isNull']=$info['isNull']==1?'NULL':'NOT NULL';
$newInfo['default']='';
$newInfo['comment']=empty($info['comment'])?'':'COMMENT '.$info['comment'];
break;
}
$sql=$newInfo['name']." ".$newInfo['type'];
$sql.=(!empty($newInfo['length']))?($newInfo['length']) .' ':' ';
$sql.=$newInfo['isNull'].' ';
$sql.=$newInfo['default'];
$sql.=$newInfo['comment'];
return $sql;
}
/*
* 删除字段
* 如果返回了字段信息则说明删除失败,返回false,则为删除成功
*/
function dropField($table,$field){
$sql="alter table `$table` drop column $field";
M()->execute($sql);
$this->checkField($table,$filed);
}
/*
* 获取指定表中指定字段的信息(多字段)
*/
function getFieldInfo($table,$field){
$info=array();
if(is_string($field)){
$this->checkField($table,$field);
}else{
foreach($field as $v){
$info[$v]=$this->checkField($table,$v);
}
}
return $info;
}
}
‘伍’ PHP写入MYSQL不用创建表和数据库、什么把指定的信息写入数据库中
PHP 数据库操作实际的关键点在于SQL语句的编写,程序顺序都类似,从问题描述里没有看到注册的页面,大致的参考示例代码如下:
<?php
mysql_connect("103.243.25.21","gcld","sixx"); //连接数据库
mysql_select_db("userlist"); //选择数据库
$sql="_name='$_POST[user_name]'"; //SQL语句
$result=mysql_query($sql); //执行SQL语句
$num=mysql_num_rows($result); //统计执行结果影响的行数
if($num) //如果已经存在该用户
{
echo"<script>alert('用户名已存在');history.go(-1);</script>";
}
else //不存在当前注册用户名称
{
$sql_insert="insertintouserlist(username,password,phone,address)values('$_POST[username]','$_POST[password]','','')";
$res_insert=mysql_query($sql_insert);
//$num_insert=mysql_num_rows($res_insert);
if($res_insert)
{
echo"<script>alert('注册成功!');history.go(-1);</script>";
}
else
{
echo"<script>alert('系统繁忙,请稍候!');history.go(-1);</script>";
}
}
?>
其中的 $sql_insert 你先在phpmyadmin里先插入一条记录,再将生成的SQL代码复制粘贴过来,再修改一下就可以了。
‘陆’ PHP 上传MYSQL数据库到服务器具体步骤
换空间,数据的备份与恢复具体步骤操作!
一 备份数据
1,利用PW后台的数据备份功能进行备份.注意的是在备份数据的时候,为了数据的完整性,建议最好先关闭论坛,后台更新所有缓存和索引.
2,利用phpmyadmin,进行备份,具体如何备份,这里就不介绍.不清楚的可以查阅相关文档,很简单的.这里备份的文件是一个独立sql文件.
以上方法一般适用与中小型论坛的备份,数据量比较小的时候还是很实用的,一般多为虚拟主机用户使用.大型论坛的备份一般是 3,4两种操作..主要是比较简单操作,一些我个人认为比较复杂且不是很实用的方法就不介绍了不如通过Mysqlhot,使用binlog机制,增加mysql的事物日志记录等,这里就不介绍了.以下下操作一般有服务器权限的朋友才可以的.
3,直接复制或者打包数据库文件,复制文件夹,大家应该都明白,我们来讲打包,linux下用tar命令实现简单有效,速度快.Win 下,直接用winrar或者winzip 搞定.注意需要暂停mysql服务.
4,Mysqlmp,是mysql自带的脚本,假如数据库名为abc,用户名为:abcuser,密码为123,,那应该使用
命令:
mysqlmp -uabcuser -p123 adc > pwabc_bak.sql
,pwabc_bak.sql 你可以任意的命名.
二 数据还原
1,针对第一种备份方法,也是最普遍使用的.在恢复论坛数据的时候,要关闭php.ini文件中的safe mode,恢复完数据后,再打开SAFE MODE就可以了。(自己服务器得才需要此设置,普通虚拟空间用户不用此设置)
>>用FTP软件下载老论坛所有文件
>>将所有文件上传至新空间
>>打开网页 你的论坛地址/admin.php 用你的论坛创始人帐号登陆
>>数据恢复(随便点一个文件,程序会自动将剩余文件导入的)
以上方法可保留所有数据及插件和模板。
对于不需要模板的或者不需要原来的插件的
>>老论坛备份数据,用FTP拉到本地。(具体在data目录下)
>>上传程序包里的文件到新空间,全新安装
>>用FTP软件将备份的数据上传到新空间的data目录下
>>用论坛创始人帐号进入后台,数据恢复
如果后台数据库忘记了,可以直接修改sql_config.php里的数据库帐号和创始人帐号密码!这里输入的创始人密码不能直接是明文.需要是MD5加密过后的.
这里就给大家一个简单的 MD5密文 [] 明文 [123456]之后就可以通过/admin.php 刚才修改的帐户密码登陆论坛了..
2,对于phpmysql备份的数据,在2M以下可以直接导入数据库中(至于怎么导,看相关文档,很简单.)数据量很大的情况只能到服务器上,服务器上 mysql 命令导入(具体导入将在"4"中介绍)虚拟主机用户,那么就得联系你的空间商,让他们协助完成数据的恢复.
3,对于打包数据库文件的,可以直接解压 把数据库文件 放到你数据库名的目录下. 在linux下注意数据库文件的权限.一般都是mysql:mysql. Win 下关系不是很大,除非你做了特殊的权限设置.
4,对于mysqlmp 导出数据, 按照备份数据中的举例用户来演示,
则命令为:
mysql -uabcuser -p123 abc < abc_bak.sql
注意:
无任何错误一般来说就是正常完成。通常在使用 phpmyadmin 导入的sql脚本中有create database语句,会导致导入数据出错,因为database 已经存在,把这段语句删除之,再次检查客户的建表语句前是否有drop表的语句,如果没有,而原数据库存在同名表格,也会出错,这时需要清空原数据库.
‘柒’ php 与mysql配置,让页面显示结果
可能是路径出了问题,你将mysql.dll等复制到你设定的目录下!
‘捌’ php mysql数据库句子的意思
$sql
=
$mysqli->query("call
pro_login1('".$username."',
'".$password."')");
#这句假设是执行SQL,那么这句话的意思是,调用query函数,执行
存储过程pro_login1(存储过程类似程序中的函数
$info
=
$sql->fetch_array(MYSQLI_ASSOC);
#如果$sql
变量实例的类和$mysqli实例化的类是同一个的话,这里是把刚刚query执行返回的参数转换成数组。MYSQLI_ASSOC是mysqli_query的一个参数,具体你可以看看手册
1
if(isset($_POST['username'])
&&
trim($_POST['username'])!='')
2
{
3
require_once
'Db.php';
4
$username
=
trim($_POST['username']);
5
$password
=
trim($_POST['password']);
6
$sql
=
$mysqli->query("call
pro_login1('".$username."',
'".$password."')");
7
$info
=
$sql->fetch_array(MYSQLI_ASSOC);
8
if($info
!=
null){
9
$_SESSION['loginUsername']
=
$username;
10
echo
'<script>window.location.href="success.php";</script>';
11
}else
{
12
echo
'<div
style="width:300px;
height:30px;
line-height:30px;
border:1px
solid
#E59B04;
background-color:#FCF2E0;
color:#FF0000;">用户名或密码输入有误</div>';
13
}
14
}
第一行先判断传如的用户名是否存在并且密码不能带有空格
第三行引用的db.php,应该是连接数据库的配置文件
第四、五行是把用户名和密码的中的空格去掉
第六行把用户名和密码传入到存储过程中执行
第七行返回一个数组
第八至十三行,判断这个数组不是空,如果不是,就给一个session作为登录标识,跳转到另外一个页面;否则就是提示用户密码错误。
------------------------------
不懂就追问把。
‘玖’ PHP 如何将mysql数据库内容部分字段赋值到数组
<?php
//$conn=mysql_connect('localhost','root','root');
$conn=mysql_connect('127.0.0.1','root','root');
if(!$conn)
{
die(mysql_error());
}
mysql_query("setnames'utf8'");
$select_db=mysql_select_db('test');
if(!$select_db)
{
die(mysql_error());
}
$arr=array();
$res=mysql_query("select*fromAORDERBYIDASC");
while($row=mysql_fetch_array($res))
{
//$arr[]=array($row['code'],$row['note']);
$arr[]=array('code'=>$row['code'],'note'=>$row['note']);
}
//print_r($arr);
?>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<title>无标题文档</title>
</head>
<body>
<tablewidth="200"border="1">
<tr>
<th>代码</th>
<th>内容</th>
</tr>
<?phpfor($i=0;$i<count($arr);$i++){?>
<tr>
<td><?php//echo$arr[$i][0];
echo$arr[$i]['code'];?></td>
<td><?php//echo$arr[$i][1];
echo$arr[$i]['note'];?></td>
</tr>
<?php}?>
</table>
</body>
</html>
<?php
mysql_close($conn);
?>