$mydb
=
new
mysqli('localhost',
'username',
'password',
'databasename')
$sql
=
"INSERT
INTO
users
(fname,
lname,
comments)
VALUES
('$_POST[fname]',
'$_POST[lname]',
'$_POST[comments]')"
if
($mydb->query($sql)
==
TRUE)
{
echo
"user
entry
saved
successfully."
}
else
{
echo
"INSERT
attempt
failed"
}
$mydb->close()
希望本文所述对大家的php程序设计有所帮助。
1、用 mysql_connect 的方法,PHP7会报致命错误
$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang')
Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue->run() #1 {main} thrown in /Users/xueyanxiang/work/test/xue.php on line 31
原因是:
PHP5中使用mysql_connect()函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数
PHP7中貌似已经彻底不支持了,根据官网说明,取而代之的是如下两个:
本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择
API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:
mysqli_connect()
PDO::__construct()
使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库。
php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll这个拓展了。
2、可以使用mysqli,对象化,方法名与被废弃的类似
$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang')
3、PDO工具,推荐使用
$dbh= "mysql:host=localhostdbname=test"
$db= new PDO($dbh,'xueyanxiang','xueyanxiang')
$objQuery= $db->query("select * from user")
$res= $objQuery->fetchAll(PDO::FETCH_ASSOC)
不填写参数的话,默认是关联和索引都有,如下图
1.面向对象的使用方式$db
=
new
mysqli('localhost',
'root',
'123456',
'dbname')
如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库
$db->select_db('dbname')
$query
=
"SELECT
*
FROM
user
WHERE
uid=4"
$result
=
$db->query($query)
$result_num
=
$result->num_rows
$row
=
$result->fetch_assoc()
//返回一个关联数组,可以通过$row['uid']的方式取得值
$row
=
$result->fetch_row()
//返回一个列举数组,可以通过$row[0]的方式取得值
$row
=
$result->fetch_array()
//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值
$row
=
$result->fetch_object()
//返回一个对象,可以通过$row->uid的方式取得值
$result->free()
//释放结果集
$db->close()
//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接
当进行INSERT、UPDATE、DELETE *** 作时,使用$db->affected_rows查看影响行数
2.面向过程的使用方式
$db
=
mysqli_connect('localhost',
'root',
'123456',
'dbname')
如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库
mysqli_select_db($db,
'dbname')
查询数据库
$query
=
"SELECT
*
FROM
user
WHERE
uid=4"
$result
=
mysqli_query($db,
$query)
$result_num
=
mysqli_num_rows($result)
返回一行结果
$row
=
mysqli_fetch_assoc($result)
//返回一个关联数组,可以通过$row['uid']的方式取得值
$row
=
mysqli_fetch_row($result)
//返回一个列举数组,可以通过$row[0]的方式取得值
$row
=
mysqli_fetch_array($result)
//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值
$row
=
mysqli_fetch_object($result)
//返回一个对象,可以通过$row->uid的方式取得值
断开数据库连接
mysqli_free_result($result)
//释放结果集
mysqli_close($db)
//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接
当进行INSERT、UPDATE、DELETE *** 作时,使用mysqli_affected_rows()查看影响行数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)