当前位置:首页 » 编程语言 » php生成sql

php生成sql

发布时间: 2022-06-08 22:03:03

❶ 如何实现php自动创建数据库

你做好程序以后,把数据库导出成sql文件
1、连接数据库
2、读取这个sql文件里的sql语句,并执行
3、生成一个数据库连接参数的php文件
<?php
$con=mysql_connect("localhost","peter","abc123");
if(!$con)
{
die('Couldnotconnect:'.mysql_error());
}

if(mysql_query("CREATEDATABASEmy_db",$con))
{
echo"Databasecreated";
}
else
{
echo"Errorcreatingdatabase:".mysql_error();
}

mysql_close($con);
?>

<?php
classReadSql{
//数据库连接
protected$connect=null;
//数据库对象
protected$db=null;
//sql文件
public$sqlFile="";
//sql语句集
public$sqlArr=array();
publicfunction__construct($host,$user,$pw,$db_name){
$host=empty($host)?C("DB_HOST"):$host;
$user=empty($user)?C("DB_USER"):$user;
$pw=empty($pw)?C("DB_PWD"):$pw;
$db_name=empty($db_name)?C("DB_NAME"):$db_name;
//连接数据库
$this->connect=mysql_connect($host,$user,$pw)ordie("Couldnotconnect:".mysql_error());
$this->db=mysql_select_db($db_name,$this->connect)ordie("Yoncannotselectthetable:".mysql_error());
}
//导入sql文件
publicfunctionImport($url){
$this->sqlFile=file_get_contents($url);
if(!$this->sqlFile){
exit("打开文件错误");
}else{
$this->GetSqlArr();
if($this->Runsql()){
returntrue;
}
}
}
//获取sql语句数组
publicfunctionGetSqlArr(){
//去除注释
$str=$this->sqlFile;
$str=preg_replace('/--.*/i','',$str);
$str=preg_replace('//*.**/(;)?/i','',$str);
//去除空格创建数组
$str=explode("; ",$str);
foreach($stras$v){
$v=trim($v);
if(empty($v)){
continue;
}else{
$this->sqlArr[]=$v;
}
}
}
//执行sql文件
publicfunctionRunSql(){
foreach($this->sqlArras$k=>$v){
if(!mysql_query($v)){
exit("sql语句错误:第".$k."行".mysql_error());
}
}
returntrue;
}
}
//范例:
header("Content-type:text/html;charset=utf-8");
$sql=newReadSql("localhost","root","","log_db");
$rst=$sql->Import("./log_db.sql");
if($rst){
echo"Success!";
}
?>

❷ sql如何生成sql文件

材料/工具:

1、打开数据库

❸ php 数组分行插入sql

//判断数组数量是否大于0
if(count($result)>0){
//合并数组值
$values=implode(")', ('",$result);
//生成SQL语句
$sql="INSERTINTO`jilu`(`id`,`num`)VALUES ('".$values."')";
//显示SQL语句
echo$sql;
}

❹ php中的sql语句

1、很多时候我们在开发时需要将字符串与变量连接起来显示,在PHP中,字符串之间使用 “点” 来连接,也就是英文中的半角句号" . " , " . " 是字符串连接符,可以把两个或两个以上的字符串链接成一个字符串。例如:

<?php
$name="网络知道:";
$url=".";
echo$name.$url.".com";
?>

输出结果为:

网络知道:..com

2、php在进行数据库查询时,如果对象是字符串,则需要使用引号将字符串区分开,这就是上面你的第一个问题,例如,你通过POST接受到的$username值是"zhanagsan",那么:

mysqli_query($conn,"SELECT*FROMuserWhereusername='".$username."'");

php在进行解析时就是

mysqli_query($conn,"SELECT*FROMuserWhereusername='zhangsan'");

如果你觉得这样会让你有点看不过来,还可以这样写:

mysqli_query($conn,"SELECT*FROMuserWhereusername='{$username}'");

这里的{}也是起到连接的作用。

3、应用字符串连接符号有时候没有办法实现大量字符串的连接,PHP允许程序员在双引号中直接包含字符串变量,当echo语句后面使用的是 双引号 (" ")时,可以使用下面的格式来达到相同的效果(这是你的第二个问题)。例如:

<?php
$name="网络知道:";
$url=".";
echo"$name$url.com";//双引号里的变量同一般的字符串自动进行区分
?>

但是单引号(' ')就不可以了,这样如果不加连接符,解析后还是字符串,例如:

<?php
$name="网络知道:";
$url=".";
echo'$name$url.com';//单引号里的变量不会同一般的字符串自动进行区分
?>

最终的输出结果就变成了

$name$url.com//最终只是输出变量名,是字符串

❺ php 中写 sql语句

php中利用数组用mysql_query批量执行sql语句。
参考示例如下:
思路:这里采用一个数组.用explode
函数,将$query语句按照”;”炸开,然后循环执行即可:
$query
=
'delete
from
ecs_goods_attr
where
attr_id=11
and
goods_id=22;
insert
into
ecs_goods_attr
(goods_attr_id,goods_id,attr_id,attr_value,attr_price)values(null,33,138,"胆略",0);
update
ecs_goods
set
goods_number=10,shop_price=55
where
goods_id=33;'
$query_e
=
explode(';','$query');
foreach
($query_e
as
$k
=>$v)
{
mysql_query($query_e[$k]);
}
这样
$query语句就被批量的执行了。

❻ mysql,php。网站要上线,要上传数据库数据,我现在用mysqlmp命令生成了一个.sql

是可能的。如果没有,你应该是正确的做法。
您的关键字来搜索与“MYSQL备份”数据的话会非常多。来看看一些可能的,并不困难。或者去网上查找一个特定的酒吧。如果领先时错误根据错误信息去搜索,大部分问题在网上直接回答。搜索引擎是最好的老师。

如果是的话,用phpmyadmin PHP的网站可以在电脑

,然后去C:\文件和设置\所有用户\应用数据\ MySQL或自定义数据的整个文件夹里面数据库文件

或备份出来使用SQL命令。 mysqlmp的

一切OK。这里是mysqlmp的使用情况,以供参考。

导出整个数据库在MySQL数据库中。

1导出整个数据库

的mysqlmp-u用户名-p数据库名>导出的文件名

的mysqlmp-U WCNC-P smgp_apps_wcnc> wcnc.sql

2。导出表

的mysqlmp-u用户名-p数据库名表名>导出的文件名

的mysqlmp-U WCNC-P smgp_apps_wcnc用户> wcnc_users。 SQL

3导出数据库结构

的mysqlmp-U WCNC-PD - 分插表smgp_apps_wcnc> D:。 wcnc_db.sql

-D无数据 - 附加下拉表中的每个create语句前4加一滴表

。导入数据库

常见source命令mysql数据库到控制台,

因为MySQL-U根P 的mysql>使用数据库

然后使用source命令,其次是该脚本文件
的mysql>源D的参数(这里使用SQL。):wcnc_db.sql

❼ php查询数据库生成数组,将数组拼接成sql形式

从数据库查询一整行取出来就是数组,没明白你的将数组拼接成sql形式。如果你的意思是讲数组转换成字符串,这个函数是可以做到的impload()

❽ 将php语言 转换成sql可执行语句

DROP TABLE IF EXISTS `fineness_article`;
CREATE TABLE `fineness_article` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`weid` int(10) unsigned NOT NULL,
`title` varchar(100) NOT NULL DEFAULT '',
`musicurl` varchar(100) NOT NULL DEFAULT '' COMMENT '上传音乐',
`content` mediumtext,
`credit` varchar(255) DEFAULT '0',
`pcate` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '一级分类',
`ccate` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '二级分类',
`template` varchar(300) NOT NULL DEFAULT '' COMMENT '内容模板目录',
`templatefile` varchar(300) NOT NULL DEFAULT '' COMMENT '分类模板名称',
`bg_music_switch` varchar(1) NOT NULL DEFAULT '1',
`kid` int(10) unsigned NOT NULL,
`rid` int(10) unsigned NOT NULL,
`type` varchar(10) NOT NULL,
`clickNum` int(10) unsigned NOT NULL DEFAULT '0',
`zanNum` int(10) unsigned NOT NULL DEFAULT '0',
`thumb` varchar(500) NOT NULL DEFAULT '' COMMENT '缩略图',
`tel` varchar(15) NOT NULL DEFAULT '' COMMENT '缩略图',
`description` varchar(500) NOT NULL DEFAULT '' COMMENT '简介',
`createtime` int(10) unsigned NOT NULL DEFAULT '0',
`displayorder` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '排序',
`outLink` varchar(500) DEFAULT '0' COMMENT '外链',
`author` varchar(100) DEFAULT '' COMMENT '作者',
`iscomment` varchar(1) default '1' COMMENT '是否评论',
PRIMARY KEY (`id`),
KEY `idx_uniacid` (`weid`),
KEY `idx_pcate` (`pcate`),
KEY `idx_ccate` (`ccate`),
KEY `idx_createtime` (`createtime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

❾ 如何利用PHP执行.SQL文件

其实很简单,就是获取sql文件中的内容,然后将每一句sql语句一次执行就行啦。
这是代码

//读取文件内容
$_sql = file_get_contents('test.sql');

$_arr = explode(';', $_sql);
$_mysqli = new mysqli(DB_HOST,DB_USER,DB_PASS);
if (mysqli_connect_errno()) {
exit('连接数据库出错');
}
//执行sql语句
foreach ($_arr as $_value) {
$_mysqli->query($_value.';');
}
$_mysqli->close();
$_mysqli = null;

上面text.sql是你需要执行的sql文件,DB_HOST主机名,DB_USER用户名,DB_PASS密码!
这只是最基本的自动执行sql文件,你还可以自定义生成数据库的名称,方法就是将sql文件中下面的代码删去

1
2
CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE 数据库名

然后在text.php中执行所有的sql语句前添加代码
$_mysqli->query("CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;");
$_mysqli->query("USE 数据库名");

❿ 关于php中写sql语句

是你的数据库连接密码不对或账号没填对。

热点内容
编程中的变量 发布:2024-05-17 11:33:06 浏览:776
加密视频怎么解密 发布:2024-05-17 11:02:52 浏览:571
柳工挖机密码多少合适 发布:2024-05-17 11:00:40 浏览:188
android工程叹号 发布:2024-05-17 10:56:21 浏览:481
在苹果手机应用怎么比安卓贵 发布:2024-05-17 10:56:20 浏览:548
赛欧313配置怎么样 发布:2024-05-17 10:43:16 浏览:989
c语言预算 发布:2024-05-17 10:43:16 浏览:493
推荐对称加密算法 发布:2024-05-17 10:43:15 浏览:823
有存储功能计算器 发布:2024-05-17 10:42:34 浏览:119
小米账号密码保险箱在哪里 发布:2024-05-17 10:17:00 浏览:752