如果有端口:
$dsn="mysql:host=".$this->db_host.";port=".$this->db_port.";dbname=".$this->db_name;
常规传统链接方法:
<?php
$mysql_server_name="10.44.202.1*7";
$mysql_username="username";
$mysql_password="PWD";
$mysql_database="database_mysql";
$conn=mysql_connect($mysql_server_name, $mysql_username,
$mysql_password);
$strsql="select * from user";
$result=mysql_db_query($mysql_database, $strsql, $conn);
while($row=mysql_fetch_row($result)){//一定要循环,指针下移。
print_r($row);
}
?>
mysql_fetch_row()与mysql_fetch_array()的区别:
两个函数,返回的都是一个数组,区别就是第一个函数返回的数组是只包含值,我们只能$row[0],
$row[1],这样以数组下标来读取数据,而mysql_fetch_array()返回的数组既包含第一种,也包含键值
对的形式,我们可以这样读取数据,(假如数据库的字段是 username,passwd):
$row['username'], $row['passwd']
而且,如果用($row as $kay => $value)来操作的话,还以直接取得数据库的字段名称。
更主要的是mysqli是php5提供的新函数库,(i)表示改进,其执行速度更快.MysqlLi类库:
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
`ID` smallint(8) NOT NULL,
`Name` varchar(12) DEFAULT NULL,
`Detail` text,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of userinfo
-- ----------------------------
INSERT INTO `userinfo` VALUES ('1', 'xiangdong', 'ackxiang');
INSERT INTO `userinfo` VALUES ('2', 'jiaxuan', 'k3s');
对比来自:http://www.jb51.net/article/37909.htm
以上代码没有问题,但是查看mysql pdo中有如下问题:
当我使用PDO_MYSQL连上mysql以后,可以利用这个参数自动执行一些QUERY。最常见的使用场合是连接mysql使用utf-8字符集
以上代码会在连上mysql之后马上执行sql::
show variables like "character_set%";
用来查看编码,不能动不动就搞set names 'utf8'!
字符集详情:http://dev.mysql.com/doc/refman/5.1/zh/charset.html
参考:
http://www.phpv.net/html/1579.html
http://www.phpchina.com/html/200611/n2844.html
http://www.diybl.com/course/4_webprogram/php/phpshil/200725/9799.html
$dsn="mysql:host=".$this->db_host.";port=".$this->db_port.";dbname=".$this->db_name;
<?php
$dsn = "mysql:host=localhost;dbname=DB_***2010_11";
$db = new PDO($dsn, 'root', '*****');
$db->query('set names utf8;'); //你可能会用到的utf-8,哈哈
$rs = $db->query("SELECT * FROM Tbl_User_***");
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>
$dsn = "mysql:host=localhost;dbname=DB_***2010_11";
$db = new PDO($dsn, 'root', '*****');
$db->query('set names utf8;'); //你可能会用到的utf-8,哈哈
$rs = $db->query("SELECT * FROM Tbl_User_***");
$result_arr = $rs->fetchAll();
print_r($result_arr);
?>
常规传统链接方法:
<?php
$mysql_server_name="10.44.202.1*7";
$mysql_username="username";
$mysql_password="PWD";
$mysql_database="database_mysql";
$conn=mysql_connect($mysql_server_name, $mysql_username,
$mysql_password);
$strsql="select * from user";
$result=mysql_db_query($mysql_database, $strsql, $conn);
while($row=mysql_fetch_row($result)){//一定要循环,指针下移。
print_r($row);
}
?>
mysql_fetch_row()与mysql_fetch_array()的区别:
两个函数,返回的都是一个数组,区别就是第一个函数返回的数组是只包含值,我们只能$row[0],
$row[1],这样以数组下标来读取数据,而mysql_fetch_array()返回的数组既包含第一种,也包含键值
对的形式,我们可以这样读取数据,(假如数据库的字段是 username,passwd):
$row['username'], $row['passwd']
而且,如果用($row as $kay => $value)来操作的话,还以直接取得数据库的字段名称。
更主要的是mysqli是php5提供的新函数库,(i)表示改进,其执行速度更快.MysqlLi类库:
DROP TABLE IF EXISTS `userinfo`;
CREATE TABLE `userinfo` (
`ID` smallint(8) NOT NULL,
`Name` varchar(12) DEFAULT NULL,
`Detail` text,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of userinfo
-- ----------------------------
INSERT INTO `userinfo` VALUES ('1', 'xiangdong', 'ackxiang');
INSERT INTO `userinfo` VALUES ('2', 'jiaxuan', 'k3s');
对比来自:http://www.jb51.net/article/37909.htm
<?php
$dsn = "mysql:host=localhost;dbname=test_php_work";
$db = new PDO($dsn, 'root', '');
//$db->query('set names utf8;'); //你可能会用到的utf-8,哈哈
//插入
/*
$count = $db->exec("insert into union_index set Tid='1234565788',Uid='666',Status='1'");
echo $count;
*/
//显示
/*
$rs = $db->query("SELECT * FROM union_index");
$result_arr = $rs->fetchAll();
print_r($result_arr);
*/
//显示2
$rs = $db->prepare("SELECT * FROM union_index");
$rs->execute();
while($row = $rs->fetch())
{
echo $row[Tid]." ".$row[Uid]." ".$row[Status]."<br>";
//print_r($row);
}
//获取指定记录里一个字段
/*
$rs = $db->query("SELECT COUNT(*) FROM union_index");
$col = $rs->fetchColumn();
echo $col;
*/
?>
$dsn = "mysql:host=localhost;dbname=test_php_work";
$db = new PDO($dsn, 'root', '');
//$db->query('set names utf8;'); //你可能会用到的utf-8,哈哈
//插入
/*
$count = $db->exec("insert into union_index set Tid='1234565788',Uid='666',Status='1'");
echo $count;
*/
//显示
/*
$rs = $db->query("SELECT * FROM union_index");
$result_arr = $rs->fetchAll();
print_r($result_arr);
*/
//显示2
$rs = $db->prepare("SELECT * FROM union_index");
$rs->execute();
while($row = $rs->fetch())
{
echo $row[Tid]." ".$row[Uid]." ".$row[Status]."<br>";
//print_r($row);
}
//获取指定记录里一个字段
/*
$rs = $db->query("SELECT COUNT(*) FROM union_index");
$col = $rs->fetchColumn();
echo $col;
*/
?>
<?php
error_reporting(E_ALL);
$dsn = "mysql:host=localhost;dbname=test";
$db = new PDO($dsn, 'root', '');
//$db->query('set names utf8;');
$sql = "INSERT INTO `test`.`mytest` (`id` ,`uid` ,`rstatus` ,`content`) VALUES ('121', '2', '2', '我得天啊,乱码!')";
$rs = $db->prepare($sql);
$isrue = $rs->execute();
//$db->query('set names utf8;');
$sql = "select * from mytest";
$rs = $db->prepare($sql);
$rs->execute();
while($row = $rs->fetch())
{
echo $row['uid']." ".$row['rstatus']." ".$row['content']."<br>";
//print_r($row);
}
?>
error_reporting(E_ALL);
$dsn = "mysql:host=localhost;dbname=test";
$db = new PDO($dsn, 'root', '');
//$db->query('set names utf8;');
$sql = "INSERT INTO `test`.`mytest` (`id` ,`uid` ,`rstatus` ,`content`) VALUES ('121', '2', '2', '我得天啊,乱码!')";
$rs = $db->prepare($sql);
$isrue = $rs->execute();
//$db->query('set names utf8;');
$sql = "select * from mytest";
$rs = $db->prepare($sql);
$rs->execute();
while($row = $rs->fetch())
{
echo $row['uid']." ".$row['rstatus']." ".$row['content']."<br>";
//print_r($row);
}
?>
以上代码没有问题,但是查看mysql pdo中有如下问题:
当我使用PDO_MYSQL连上mysql以后,可以利用这个参数自动执行一些QUERY。最常见的使用场合是连接mysql使用utf-8字符集
$db = new PDO("mysql:dbname=dbname", "user", "password",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
以上代码会在连上mysql之后马上执行sql::
set names 'utf-8';
show variables like "character_set%";
用来查看编码,不能动不动就搞set names 'utf8'!
字符集详情:http://dev.mysql.com/doc/refman/5.1/zh/charset.html
参考:
http://www.phpv.net/html/1579.html
http://www.phpchina.com/html/200611/n2844.html
http://www.diybl.com/course/4_webprogram/php/phpshil/200725/9799.html
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/1177/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2022-4-15 18:01
评论列表