phpmysql参数
<?php
/* 连接数据库类 MysqlConnect */
class MysqlConnect{
private $dbhost=null;
private $dbuser=null;
private $dbpwd=null;
private $dbname=null;
private $dbport=null;
private $ifpdo=null;
private $dburi=null;
private $handler=null;
function __construct($dbhost,$dbuser,$dbpwd,$dbname,$dbport,$ifpdo,$dburi){
$this->dbhost=$dbhost;
$this->dbuser=$dbuser;
$this->dbpwd=$dbpwd;
$this->dbname=$dbname;
$this->dbport=$dbport;
$this->ifpdo=$ifpdo;
$this->dburi=$dburi;//PDO的URI参数,可以查手册
if($this->ifpdo==1){//表示调用PDO来操作数据库
$this->handler=$this->CreatePdo();
}elseif($this->ifpdo==0){//这里可以写MYSQLI的方法
$this->handler=null;
}
}
/* ----------------这里是入口--------------------- */
//@param sql:外部调用时传递的完整SQL语句
//@param bindArray:绑定的参数数组,与sql语句有关,如果没有PDO占位符此处为空
//@param action:传递操作参数,"select"/"update"/"delete"/"insert"
public function exeSql($sql,$bindArray=array(),$action=""){
$stmt=$this->handler->prepare($sql);
$stmt->execute($bindArray);
switch($action){
case "select":
return $stmt->fetch(PDO::FETCH_ASSOC);
break;
case "selectAll":
return $stmt->fetchAll(PDO::FETCH_ASSOC);
break;
case "update":
case "delete":
return $stmt->rowCount();
break;
case "insert":
return $this->handler->lastInsertId();
break;
case "count":
return $stmt->rowCount();
default:
return "";
}
}
public function query($sql){
return $this->handler->query($sql);
}
private function CreatePdo(){
try{
$handler=new PDO($this->dburi,$this->dbuser,$this->dbpwd);
$handler->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
return $handler;
}catch(PDOException $e){
$e->getMessage();
$this->handler=null;
}
}
private function __get($args){
if($args=='handler'){
return $this->handler;
}
}
}
require(NEO_A_P.'\data\sqlconfig.php');//这里是sql的连接文件,下面创建对象的时候需要的变量就是这个文件里要有的
$handler=new MysqlConnect($dbhost,$dbuser,$dbpwd,$dbname,$dbport,$ifpdo,$dburi);
?>
❷ 编译PHP要用什么样的参数,才能支持远程连接Mysql服务器
和PHP没关系,要设置MYSQL
用root用户进数据库,选择mysql库,user表里,把对应用户(比如root)的Host改为%号(任意IP,不分本地远程),或者改为某一IP(指定IP登录),再重启下MYSQL,就可以远程访问MYSQL了。
❸ php的网站信息翻页功能跟mysql数据表哪些参数有关
<?php
$mysql_host = 'localhost';
$mysql_user = 'root';
$mysql_password = '';
$mysql_database = 'testdb';
///*Connect to the local server,可以在函数名前加上 @ 来抑制失败时产生的错误信息。
$link = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die(mysql_error());
mysql_select_db($mysql_database) or die(mysql_error());
//set charset 设定字符集解决汉字问题
mysql_query("set names 'gbk'");
$rowsPerPage = 3; //定义每页的行数
$row = mysql_fetch_assoc(mysql_query("SELECT count(*) AS c FROM testmsg")); //查询表中的总记录数
$rows = $row['c']; //得到表中总记录数
$pages = ceil($rows / $rowsPerPage); //计算出页数
$curPage = 1; //当前要显示第几页,默认显示第1页
//$_REQUEST变量比较大,一般不用。常用的是$_POST,$_GET,二者与form表单method保持一致。$_GET还支持url传值
if(isset($_GET['curPage'])) //假如用户提交了指定的页数
$curPage = $_GET['curPage']; // 就将欲显示的页数设定为用户指定的值
//倒序查询
//echo $curPage;
$sql = "SELECT * FROM testmsg ORDER BY id DESC"." LIMIT ".($curPage -1)*$rowsPerPage.", $rowsPerPage"; //修改sql语句,使得可以查询出指定的结果集
//echo $sql;
$result = mysql_query($sql) or die(mysql_error());
//列表显示----------显示部分内容不变
while($row = mysql_fetch_assoc($result)){
echo "<table width = '90%' align = 'center' cellpadding = '1' cellspacing = '1' bgcolor = 'blue'> ";
echo " <tr>";
echo " <td rowspan='2' width = '25%' bgcolor = 'white'>";
echo " <li><span style='color:red;'>编号:</span>{$row['id']}</li>";
echo " <li><span style='color:red;'>用户:</span>{$row['email']}</li>";
echo " <li><span style='color:red;'>地址:</span>{$row['ip']}</li>";
echo " <li><span style='color:red;'>时间:</span>{$row['time']}</li>";
echo " <li><font color = 'red'>其他:</font>{$row['other']}"; //html旧式写法
echo " </td>";
echo " <td bgcolor = 'yellow' ><font color = 'red'>标题:</font><a href = modifyMsg.php?id={$row['id']}>{$row['title']}</td>";
echo " </tr>";
echo " <tr>";
echo " <td bgcolor = 'white' >{$row['content']}</td>";
echo " </tr>";
echo "</table>";
echo "<br />";
}
//显示全部分页的链接
echo "<div align = 'center'>";
for($i=1;$i<=$pages;$i++){ //循环显示,每个链接指定curPage属性为其指向的页数就可以了
echo "<a href='testpage201.php?curPage=$i'>$i</a> ";
}
//下拉框分页
echo "<form name = 'form1' action = 'testpage201.php?curPage=$curPage' method = 'GET'>";
echo " <select name= 'curPage' onchange = 'document.form1.submit();'>";
for($i = 1; $i <=$pages; $i++){
if($i == $curPage)
echo "<option selected>$i</option>";
else
echo "<option>$i</option>";
}
echo " </select>";
echo " </form>";
//首页、前页、后页、末页的链接
if($curPage>1){
echo "<a href = 'testpage201.php?curPage=1'>首页</a> ";
echo "<a href = 'testpage201.php?curPage=".($curPage-1)."'>前页</a> ";
}
if($curPage<$pages){
echo "<a href='testpage201.php?curPage=".($curPage+1)."'>后页</a> ";
echo "<a href = 'testpage201.php?curPage=$pages'>末页</a> ";
}
echo "</div>";
//列表显示完毕
mysql_free_result($result);
mysql_close($link);
//$link->close()等同于mysql_close($link);
//$result->free()等同于mysql_free_result($result);
//$link->query($sql)等同于mysql_query($sql,$link);
/*
MySQL limit的实际用法的详细解析,在我们使用相关的查询语句的时候,一般都要返回前几条或是中间的某几行数据,这时你应如何处理呢?不必担心,MySQL数据库已经为我们提供了这样一个功能。
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。MySQL LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
MySQL> SELECT * FROM table LIMIT 5,10;
检索记录行 6-15
为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
MySQL> SELECT * FROM table LIMIT 95,-1;
检索记录行 96-last.
如果只给定一个参数,它表示返回最大的记录行数目:
MySQL> SELECT * FROM table LIMIT 5;
检索前 5 个记录行。换句话说,LIMIT n 等价于 MySQL LIMIT 0,n。以上的相关内容就是对MySQL limit的用法详解的介绍,望你能有所收获。 */
?>
<?php
$link = mysql_connect("localhost","root","");
$sqlstr = "SELECT * FROM testmsg";
$send = mysql_db_query("testdb",$sqlstr);
$fdat = mysql_fetch_row($send);
$fdat = mysql_fetch_row($send); //试试调用两次的结果?
//mysql_fetch_row() 从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个数组的单元中,偏移量从 0 开始。
//依次调用 mysql_fetch_row() 将返回结果集中的下一行,如果没有更多行则返回 FALSE。
//print_r($fdat);
//foreach的两种写法
//foreach($fdat as $value){
foreach($fdat as $key => $value){
echo "$key:$value<br />";
}
mysql_data_seek($send,0); //指针所在位置回到第一条记录上
$fdat = mysql_fetch_row($send);
foreach($fdat as $name => $valu){ //key => value 可以换写法命名
echo "$name:$valu<br />";
}
mysql_free_result($send);
mysql_close($link);
/*
foreach
PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
自PHP 5 起,还可能遍历对象。
Note:
当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在 foreach 循环之前调用 reset()。
Note:
除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。foreach对数组指针有些副作用。除非对其重置,在 foreach 循环中或循环后都不要依赖数组指针的值。
自 PHP 5 起,可以很容易地通过在 $value 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。
*/
?>
<?php
$link1 = mysql_connect("localhost","root","");
$link2 = mysql_connect("localhost","root","");;
//mysql_close();
//如果关闭连接,则无输出并报错。
/*
bool mysql_close ([ resource $link_identifier ] )
mysql_close() 关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier,则关闭上一个打开的连接。
*/
$result = mysql_query("select count(*) from testdb.testmsg"); //查询结果集
$row = mysql_fetch_row($result); //从结果集中取出一行作为枚举数组返回
print_r($row); //输出数据表的总行数的数组信息
echo $row[0];
?>
❹ 怎样用PHP中的MySQL操作函数
1. 建立MySQL 连接:mysql_connect
resource mysql_connect([string $server[, string $username [, string $password [, bool $new_link [, int $client flags]]]]])
打开或重复使用一个到MySQL服务器的连接。其中,server代表MySQL服务器,可以包括端口号,例如“hostname:port”。username和password分别代表登录MySQL服务器使用的用户名和密码。
2. 选择 MySQL 数据库:mysql_select_db
bool mysql_select_db(string $database_name[, resource $link_identifier])
设定与指定的连接标识符所关联的服务器上的当前数据库。如果没有指定连接标识符,则使用上一个打开的连接。如果没有打开的连接,本函数将无参数地调用mysql_connect()来尝试打开一个数据库连接。如果成功则返回true,失败则返回false。每个其后的mysgl_query()调用都会作用于活动数据库。
3. 执行查询:mysql_query
resource mysql_query(string $query[, resource $link_identifier])
向与指定的连接标识的关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数地调用mysql_connect()函数来建立一个连接,查询结果会被缓存。mysql_query()仅对SELECT、SHOW、EXPLAIN或DESCRIBE语句返回一个资源标识符,如果查询执行不正确则返回false。对于其他类型的SQL语句,mysgl_query()在执行成功时返回true,出错时返回false。非false的返回值意味着查询是合法的并能够被服务器执行但是并不说明任何影响到的或返回的行数。因为一条查询执行成功了但并未影响到或并未返回任何行的情况是可能发生的。
4. 从结果集中取得一行作为枚举数组:mysql_fetch_row
array mysql_fetch_row(resource $result)
从和指定的结果标识关联的结果集中取得一行数据并作为数组返回。每个结果的列储存在一个索引数组的单元中,偏移量从0开始。依次调用mysql_fetch_row()将返回结果集中的下一行,如果没有更多行则返回false。
5. 从结果集中取得一行作为关联数组,或数字数组,或二者兼有:mysql_fetch_array
array mysql_fetch_array(resource $result[, int $result_type])
mysql_fetch_row()的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。如果结果中出现字段名重名的现象,最后一列将优先。要访问同名的其他列,必须用该列的数字索引或给该列起个别名。对有别名的列,用别名来访问其内容。
6. 关闭 MySQL 连接:mysql_close
bool mysql_close([resource $link_identifier])
mysql_close()关闭指定的连接标识所关联的到MySQL服务器的非持久连接。如果没有指定link_identifier,则关闭上一个打开的连接。
例PHP中使用MySQL数据库(mysql.php)
<?php//连接MySQL数据库
mysql_connect('localhost', 'root', '123');
//选择当前数据库
//等效为执行USE test
mysql_select_db('test');
//在当前数据库执行SQL语句
$query = "SELECT * FROM students";
$result = mysql_query($query);
//操作上次查询返回的结果集,注意$result变量一般是需要的
while($student = mysql_fetch_array($result)) {
echo '<pre>';
print_r($student);
echo '</pre>';
}
?>
❺ 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_connect()方法 其中这个参数中的server,user,pwd应该怎样填写。
mysql_connect()的语法是这样的:
mysql_connect("主机名","数据库用户名","数据库密码");
首先,你是在本地测试的,那么主机名你可以用localhost,也可以用127.0.0.1。
其次,既然你在安装mysql时设置了用户名为root,那么,数据库用户名一项就可以填写root。
其三,数据库密码是你的mysql名户名为root的用户的密码。
根据你给出的信息,正确的连接应该是:
mysql_connect("localhost","root","数据库密码");
❼ php 调用mysql存储过程 输入多个参数,出参只需一个如何写
以下只是个例子
CREATE procere test
@n1 char(10),
@n2 char(10),
@n3 char(10),
@n4 char(10),
@n5 char(10),
@n6 char(10),
@n7 char(10),
@n8 datetime,
@n9 datetime,
@n10 int
as
select * --------这部分请将传入的参数带入查询的条件中
from table1 t1,table2 t2,table3 t3
where deldate between @n8 and @n9
and t1.ponum = t2.ponum
and t2.partnum = t3.partnum
and t3.layer =@n1
GO
❽ PHP中的一些MySQL函数
mysql可通过两种方式通过php与web相连,一种通过php的mysql相关函数,相关函数如下:
MYSQL函数
mysql_affected_rows:
得到
MySQL
最后操作影响的列数目。
mysql_close:
关闭
MySQL
服务器连线。
mysql_connect:
开启
MySQL
服务器连线。
mysql_create_db:
建立一个
MySQL
新资料库。
mysql_data_seek:
移动内部传回指标。
mysql_db_query:
送查询字串
(query)
到
MySQL
资料库。
mysql_drop_db:
移除资料库。
mysql_errno:
传回错误讯息代码。
mysql_error:
传回错误讯息。
mysql_fetch_array:
传回阵列资料。
mysql_fetch_field:
取得栏位资讯。
mysql_fetch_lengths:
传回单列各栏资料最大长度。
mysql_fetch_object:
传回物件资料。
mysql_fetch_row:
传回单列的各栏位。
mysql_field_name:
传回指定栏位的名称。
mysql_field_seek:
设定指标到传回值的某栏位。
mysql_field_table:
获得目前栏位的资料表
(table)
名称。
mysql_field_type:
获得目前栏位的型态。
mysql_field_flags:
获得目前栏位的旗标。
mysql_field_len:
获得目前栏位的长度。
mysql_free_result:
释放传回占用记忆体。
mysql_insert_id:
传回最后一次使用
INSERT
指令的
ID。
mysql_list_fields:
列出指定资料表的栏位
(field)。
mysql_list_dbs:
列出
MySQL
服务器可用的资料库
(database)。
mysql_list_tables:
列出指定资料库的资料表
(table)。
mysql_num_fields:
取得传回栏位的数目。
mysql_num_rows:
取得传回列的数目。
mysql_pconnect:
开启
MySQL
服务器长期连线。
mysql_query:
送出一个
query
字串。
mysql_result:
取得查询
(query)
的结果。
mysql_select_db:
选择一个资料库。
mysql_tablename:
取得资料表名称。
❾ php和mysql参数编码问题
在PHP编码时加一行mysql_query('set names utf8');保证MySQL是utf8格式的,php的默认格式一般是utf8的。