php中sql
$haha = M(),$res = $haha->query($sql)。
或 $res = $waw->execute($sql)。
$sql中包含了表名,實例化模型時可以為空。注意query是查功能,execute是增刪改功能。
② php 中寫 sql語句
<?php
<?php
header("Content-type:text/html;charset=utf-8");
//用來操作mysql數據
classMysql{
private$host;
private$port;
private$user;
private$password;
private$dbname;
private$charset;
//構造方法:初始化
publicfunction__construct($info=array()){
$this->host=isset($info['host'])?$info['host']:"localhost";
$this->port=isset($info['port'])?$info['port']:"3306";
$this->user=isset($info['user'])?$info['user']:"root";
$this->password=isset($info['password'])?$info['password']:"root";
$this->dbname=isset($info['dbname'])?$info['dbname']:"haoyigou";
$this->charset=isset($info['charset'])?$info['charset']:"utf8";
$this->db_connect();
$this->db_charset();
$this->db_name();
}
//資料庫連接
privatefunctiondb_connect(){
$res=@mysql_connect($this->host.":".$this->port,$this->user,$this->password);
if(!$res){
echo"資料庫連接失敗!<br/>";
echo"錯誤編號是:".mysql_errno()."<br/>";
echo"錯誤信息是:".iconv('gbk','utf-8',mysql_error())."<br/>";
exit;
}
}
//封裝驗證方法
publicfunctiondb_query($sql){
$res=@mysql_query($sql);
if(!$res){
echo"sql語句語法錯誤!<br/>";
echo"錯誤編號是:".mysql_errno()."<br/>";
echo"錯誤信息是:".iconv('gbk','utf-8',mysql_error())."<br/>";
exit;
}
return$res;
}
//設置字元集
privatefunctiondb_charset(){
$sql="setnames{$this->charset}";
$this->db_query($sql);
}
//使用資料庫
privatefunctiondb_name(){
$sql="use{$this->dbname}";
$this->db_query($sql);
}
//增刪改
publicfunctiondb_add($sql){
//執行語句
$this->db_query($sql);
$id=mysql_insert_id();
return$id?$id:mysql_affected_rows();
}
//查:輸出單條數據
publicfunctiondb_getone($sql){
$res=$this->db_query($sql);
//看不懂私聊我
$row=mysql_fetch_assoc($res);
return$row;
}
③ php怎麼樣連接sql資料庫
1、軟體配置
Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2資料庫,wamp2.2中的php版本是5.3.10。
Php環境也可以換成php+apache。
2、支持連接MySQL Server配置
php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以後的版本不支持。
2.1、php連接mssql設置(php5.3以前版本)
(1)、打開php.ini,將
;extension=php_mssql.dll前面的分號(;)去掉,然後重啟 Apache。如果不行的話,進行第2步。
(2)檢查一下你的php安裝目錄下的ext下面有沒有php_mssql.dll存在,如果沒有,從www.php.net重新下載一個php安裝,要下載那個壓縮包的才是最完整的。
如果ext目錄下已經有了php_mssql.dll,那麼你需要打開php.ini,找到
extension_dir = "./ext"
這一句(或者類似的,不一定是"./ext",查找"extension_dir"即可),然後把"./ext"修改為你的php安裝目錄的ext目錄的完整路徑,比如"c:/php/ext",或者"c:/program files/php/ext"這樣。然後再次重啟 Apache。如果還是不行的話,可能就需要第3步了。
(3)把 php 目錄下的 ntwdblib.dll 和 php_mssql.dll 復制到 system32的系統目錄中去,然後重起Apache。
(4)然後就可以連接MSSQL,並進行一些操作了。連接例子如下:
2.2、php連接sqlsrv(php5.3以及以上版本)
(1)、下載Microsoft Drivers forPHPfor SQL Server,官方下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098,我使用的是SQLSRV2.0。
(2)、解壓下載下來的文件將php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件復制到php安裝目錄下的ext文件夾中。此處根據版本不同使用的文件不同。
(3)、在php.ini中添加
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
到很多;extension=***.dll語句後面,注意extension_dir 指向的位置是否正確。
(4)、重啟apache,然後訪問http://apache訪問地址/?Phpinfo=1,出現下面圖片中的內容,則代表配置正確。
(5)、寫測試代碼,測試代碼如下:
(6)、上面完成之後,測試代碼的時候會出現連接失敗,因為沒有安裝sql server nation client ,本地客戶端,去下載合適的客戶端,我使用的是Microsoft? SQL Server? 2012 Native Client,下載地址:
(7)、安裝完成之後,在重新啟動apache,然後訪問就可以連接成功了。
(8)、注意:在php.ini文件所在的文件夾中必須要有ntwdblib.dll文件存在。
④ php中sql格式
mysql_query("insert into content (name,time,content) values('''$name''','''$dat''' ,'''$mycontent''') " );
用三個單引號幹嘛呢?雙引號就行了。這句正確的是:
mysql_query("insert into `content` (`name`,`time`,`content`) values("$name","$dat" ,"$mycontent") " );
⑤ PHP執行SQL查詢
$haha = M(),$res = $haha->query($sql)。
或 $res = $waw->execute($sql)。
$sql中包含了表名,實例化模型時可以為空。注意query是查功能,execute是增刪改功能。
⑥ php中sql資料庫亂碼的問題
確保
你的文件編碼,文件顯示編碼,資料庫編碼一致。(有時候可能還需要php管理工具頁面代碼和前三者一致)就可以了。
比如。你用Dreamweaver
建立了一個php文件----Dreamweaver的默認文件編碼格式是UTF-8是的。並且你在你的PHP文件中的
charset
=
utf8。--一般在
<head>
<meta
http-equiv="Content-Type"
content="text/html;
charset=utf8"
/>
這樣的位置。
然後你的資料庫編碼是UTF8
。可以用SQL語句
,set
一下
。具體怎麼弄,自己查一下。
再然後,如果你用類似於PHPMYADMIN這樣的工具,在瀏覽的時候用右鍵看看網頁的編碼是不是UTF8。如果不是改下就OK了。
⑦ 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文件
其實很簡單,就是獲取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 = "select * from table";
$reault = mysql_query($sql);
print_r($result);
⑩ 求助,PHP中SQL查詢語句的多種用法,該怎樣寫
select
你要查詢的欄位,多個欄位用逗號分隔
from
表
where
條件
order
排序
比如:
select
id,user
from
user
where
id>10
order
by
id
desc
上面的
語句就是,查詢返回user表的id和user2個欄位,並且id欄位的值大於10,按照id欄位降序排列