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语句就被批量的执行了。
‘贰’ php执行 一段 sql语句
$name=addslashes($name);
再
insert into ** (name) values ('".$name."');
stringaddslashes ( string$str )
返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。
‘叁’ php中执行sql查询的语句为什么执行不了
$sql="select * from user where name=$name and password=$password";
你先在在这条下边输出
echo $sql;看下这条sql语句输出的结果是否正确,然后再调试。
不成功,很有可能是由于你的变量输出有问题。
‘肆’ PHP如何去执行一个SQL语句
<?php
$db_server="localhost";
$db_user="root";
$db_pwd="password";
$db_name="test";
$sql="select*fromuserwhereusername='admin'";
$conn=mysql_pconnect($db_server,$db_user,$db_pwd);
$my_db=mysql_select_db($db_name,$conn);
$result=mysql_query($sql,$conn);
$userInfo=mysql_fetch_array($result);
mysql_close($conn);
echo"帐户:".$userInfo["username"]."";
echo"密码:".$userInfo["password"]."";
echo"年龄:".$userInfo["userage"]."";
echo"等级:".$userInfo["usergrade"]."";
?>
‘伍’ 怎样在PHP里执行SQL脚本
先看个例子吧:
<?php
/*配置项*/
$mysql_server_name='localhost';
$mysql_username='root'; //用户名
$mysql_password='12345678'; //密码
$mysql_database='mycounter'; //数据库名
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database); //连接服务器
$sql='CREATE DATABASE mycounter DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci; //sql语句创建数据库
';
mysql_query($sql); //此处执行SQL语句
$sql='CREATE TABLE `counter` (`id` INT(255) UNSIGNED NOT NULL AUTO_INCREMENT ,`count` INT(255) UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY ( `id` ) ) TYPE = innodb;';
//sql语句创建表
mysql_select_db($mysql_database,$conn); //连接数据库
$result=mysql_query($sql); //此处执行SQL语句
mysql_close($conn);
echo "Hello!数据库mycounter已经成功建立!";
?>
所以说在PHP里执行SQL脚本就是利用mysql_query(‘sql语句’)来执行的 (当然此处是只数据库是MYSQL的情况下,如过是sqlserver则是mssql_query(‘sql语句’))
‘陆’ php中不能执行sql语句。
我是这样写的,无论我用empty还是OCIColumnIsNULL来判断,都没有执行进去
$sql="SELECTTAX_FPDJ.DJRQFROMTAX_FPDJ,TAX_FPDJTIWHERETAX_FPDJTI.FPDM='".$FapiaoDM."'ANDTAX_FPDJTI.QSH<='".$FapiaoHM."'ANDTAX_FPDJTI.QSH+TAX_FPDJTI.SL*TAX_FPDJTI.ZZH>='".$FapiaoHM."'ANDTAX_FPDJ.DJXH=TAX_FPDJTI.DJXHANDTAX_FPDJ.TAXPAYERID=".$asTaxpayerid."ANDTAX_FPDJ.DJLX='8'";
$stmt=OCIParse($conn,$sql);
$rs=OCIExecute($stmt);
while(OCIFetch($stmt)){
$asEndTime=OCIResult($stmt,1);
if(empty($asEndTime))
{$asDatetime=$asStartTime;
$tip="没有缴销";}
else
$asDatetime=$asStartTime."至".$asEndTime;
}
OCIFreeStatement($stmt);
‘柒’ PHP执行SQL查询怎么做
$haha = M(),$res = $haha->query($sql)。
或 $res = $waw->execute($sql)。
$sql中包含了表名,实例化模型时可以为空。注意query是查功能,execute是增删改功能。
‘捌’ 如何利用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语句
跟普通的sql语句一样执行;mysql_query('set identity_insert Inventory ON');