1. 如何把sql代碼插入到PHP當中
參考資料:http://w3school.com.cn/php/php_mysql_intro.asp
簡單易懂的教程
2. PHP 能和SQL資料庫相連嗎
mysql可通過兩種方式通過php與web相連,一種通過php的mysql相關函數,另一種通過php的odbc相關函數
相關函數如下:
mysql函數
mysql_affected_rows: 得到 mysql 最後操作影響的列數目。
mysql_close: 關閉 mysql 伺服器連線。
mysql_connect: 開啟 mysql 伺服器連線。
mysql_create_db: 建立一個 mysql 新資料庫。
mysql_data_seek: 移動內部傳回指標。
mysql_db_query: 送查詢字串 (query) 到 mysql 資料庫。
mysql_drop_db: 移除資料庫。
mysql_errno: 傳回錯誤訊息代碼。
mysql_error: 傳回錯誤訊息。
mysql_fetch_array: 傳回陣列資料。
mysql_fetch_field: 取得欄位資訊。
mysql_fetch_lengths: 傳回單列各欄資料最大長度。
mysql_fetch_object: 傳回物件資料。
mysql_fetch_row: 傳回單列的各欄位。
mysql_field_name: 傳回指定欄位的名稱。
mysql_field_seek: 設定指標到傳回值的某欄位。
mysql_field_table: 獲得目前欄位的資料表 (table) 名稱。
mysql_field_type: 獲得目前欄位的型態。
mysql_field_flags: 獲得目前欄位的旗標。
mysql_field_len: 獲得目前欄位的長度。
mysql_free_result: 釋放傳回佔用記憶體。
mysql_insert_id: 傳回最後一次使用 insert 指令的 id。
mysql_list_fields: 列出指定資料表的欄位 (field)。
mysql_list_dbs: 列出 mysql 伺服器可用的資料庫 (database)。
mysql_list_tables: 列出指定資料庫的資料表 (table)。
mysql_num_fields: 取得傳回欄位的數目。
mysql_num_rows: 取得傳回列的數目。
mysql_pconnect: 開啟 mysql 伺服器長期連線。
mysql_query: 送出一個 query 字串。
mysql_result: 取得查詢 (query) 的結果。
mysql_select_db: 選擇一個資料庫。
mysql_tablename: 取得資料表名稱。
odbc函數
使用odbc函數需安裝mysql odbc
odbc_autocommit: 開關自動更動功能。
odbc_binmode: 設定二進位資料處理方式。
odbc_close: 關閉 odbc 連結。
odbc_close_all: 關閉所有 odbc 連結。
odbc_commit: 更動 odbc 資料庫。
odbc_connect: 連結至 odbc 資料庫。
odbc_cursor: 取得游標名。
odbc_do: 執行 sql 指令。
odbc_exec: 執行 sql 指令。
odbc_execute: 執行預置 sql 指令。
odbc_fetch_into: 取得傳回的指定列。
odbc_fetch_row: 取得傳回一列。
odbc_field_name: 取得欄位名稱。
odbc_field_type: 取得欄位資料形態。
odbc_field_len: 取得欄位資料長度。
odbc_free_result: 釋出傳回資料的記憶體。
odbc_longreadlen: 設定傳回欄的最大值。
odbc_num_fields: 取得欄位數目。
odbc_pconnect: 長期連結至 odbc 資料庫。
odbc_prepare: 預置 sql 指令。
odbc_num_rows: 取得傳回列數目。
odbc_result: 取得傳回資料。
odbc_result_all: 傳回 html 表格資料。
odbc_rollback: 撤消當前交易。
odbc_setoption: 調整 odbc 設定。
3. 在php中怎麼連接mysql啊又怎麼嵌入sql語句呢
mysql_connect($host,$user,$password);
mysql_db_select('database');
$sql='select * from table';
mysql_query($sql);
4. 一個關於將sql資料庫文件導入php的問題
登錄到伺服器上:
執行下列命令:
#mysql -u root -proot database <chat.sql
其中-p後面的root是密碼,database是你要導入的資料庫名字
ps:當然不會了,那個文件你得上傳到你當前要執行命令的目錄下,不然你得使用絕對路徑,
還有,如果你伺服器上沒有設置mysql文件的可執行路徑 ,那你得找到mysql這個文件的位置:然後再執行.
一般命令如下:/usr/local/mysql/bin/mysql -u root -proot database </home/ftpuser/chat.sql
5. php可以和sql結合嗎
你說的 sql 估計是 Microsoft SQL Server
可以參考下面的文字
SQL Server 資料庫函數庫
------------------------------------------------------
本函數庫共有 16 個函數
SQL Server 是 Microsoft 從 SyBASE 取得並修改的資料庫系統,它只能在 Windows NT Server 上面執行。使用本函數只能使用 Windows NT Server 作為 PHP 的執行平台。
Microsoft SQL Server 的 query 語法為 Transact-SQL,和 SyBASE 的語法幾乎相同。本資料庫可能是所有 PHP 所支持資料庫中,中文書籍最多的資料庫了。
mssql_affected_rows: 取得最後 query 影響的記錄數。
mssql_close: 關閉與資料庫的連接。
mssql_connect: 連上資料庫。
mssql_data_seek: 移動列指標。
mssql_fetch_array: 返回數組數據。
mssql_fetch_field: 取得欄位信息。
mssql_fetch_object: 返回對象數據。
mssql_fetch_row: 返回單列的各欄位。
mssql_field_seek: 設定指標到返回值的某欄位。
mssql_free_result: 釋放返回佔用內存。
mssql_num_fields: 取得返回欄位的數目。
mssql_num_rows: 取得返回列的數目。
mssql_pconnect: 打開 MS SQL 伺服器長期連接。
mssql_query: 送出一個 query 字元串。
mssql_result: 取得查詢 (query) 的結果。
mssql_select_db: 選擇一個資料庫。
詳細資料:
-----------------------------------------------------
mssql_affected_rows
取得最後 query 影響的記錄數。
語法: int mssql_affected_rows(int [link_identifier]);
返回值: 整數
函數類型: 資料庫功能
內容說明
本函數用來取得最後一次對資料庫下 query 指令所影響的記錄數,會影響的為 INSERT、UPDATE 或 DELETE 等指令,而 SELECT 不會影響。參數 link_identifier 可省略,為打開資料庫的連接代號。返回值即為記錄數。
-----------------------------------------------------
mssql_close
關閉與資料庫的連接。
語法: boolean mssql_close(int [link_identifier]);
返回值: 布爾值
函數類型: 資料庫功能
內容說明
本函數用來關閉與 MS SQL Server 資料庫的連接,能關閉的為使用 mssql_connect() 函數打開的資料庫,若使用 mssql_pconnect() 打開的資料庫則不能以本函數關閉。參數 link_identifier 可省略,為打開資料庫的連接代號。關閉成功則返回 true 值。
參考
mssql_connect() mssql_pconnect()
-----------------------------------------------------
mssql_connect
連上資料庫。
語法: int mssql_connect(string [servername], string [username], string [password]);
返回值: 整數
函數類型: 資料庫功能
內容說明
本函數用來打開與 MS SQL Server 資料庫的連接。參數 servername 為欲連上的資料庫伺服器名稱。參數 username 及 password 可省略,分別為連接使用的帳號及密碼。使用本函數需注意早點關閉資料庫,以減少系統的負擔。連接成功則返回資料庫的連接代號,失敗返回 false 值。
參考
mssql_close() mssql_pconnect()
-----------------------------------------------------
mssql_data_seek
移動列指標。
語法: boolean mssql_data_seek(int result_identifier, int row_number);
返回值: 布爾值
函數類型: 資料庫功能
內容說明
本函數用來移動 MS SQL Server 數據文件中的列指標到指定的列上,可供 mssql_fetch_row() 等函數使用。參數 result_identifier 為查詢的代號值。參數 row_number 則為欲移往的記錄數。若失敗則返回 false 值。
參考
mssql_close() mssql_pconnect()
-----------------------------------------------------
mssql_fetch_array
返回數組數據。
語法: array mssql_fetch_array(int result);
返回值: 數組
函數類型: 資料庫功能
內容說明
本函數用來將查詢結果 result 拆到數組變數中。若 result 沒有數據,則返回 false 值。而本函數可以說是 mssql_fetch_row() 的加強函數,除可以將返回列及數字索引放入數組之外,還可以將文字索引放入數組中。
-----------------------------------------------------
mssql_fetch_field
取得欄位信息。
語法: object mssql_fetch_field(int result, int field_offset);
返回值: 對象
函數類型: 資料庫功能
內容說明
本函數返回的對象數據為 result 的欄位 (Column) 信息。返回對象的屬性如下:
name - 欄位名稱
column_source -欄位所在表格的數據文件名稱
max_length - 欄位的最大長度
numeric - 若為 1 表示本欄位為數字定義 (numeric)
參考
mssql_field_seek()
-----------------------------------------------------
mssql_fetch_object
返回對象數據。
語法: object mssql_fetch_object(int result);
返回值: 對象
函數類型: 資料庫功能
內容說明
本函數用來將查詢結果 result 拆到對象變數中。使用方法和 mssql_fetch_array() 幾乎相同,不同的地方在於本函數返回值是對象而不是數組。若 result 沒有數據,則返回 false 值。另外值得注意的地方是,取回的對象數據的索引只能是文字而不能用數字,這是因為對象的特性。對象數據的特性中所有的屬性 (property) 名稱都不能是數字,因此只好乖乖使用文字字元串當索引了。關於速度方面,本函數的處理速度幾乎和 mssql_fetch_array() 及 mssql_fetch_row() 二函數差不多,要用哪個函數還是看使用的需求決定。
參考
mssql_fetch_array() mssql_fetch_row()
-----------------------------------------------------
mssql_fetch_row
返回單列的各欄位。
語法: array mssql_fetch_row(int result);
返回值: 數組
函數類型: 資料庫功能
內容說明
本函數用來將查詢結果 result 之單列拆到數組變數中。數組的索引是數字索引,第一個的索引值是 0。若 result 沒有數據,則返回 false 值。
參考
mssql_fetch_array() mssql_fetch_object() mssql_data_seek() mssql_result()
-----------------------------------------------------
mssql_field_seek
設定指標到返回值的某欄位。
語法: int mssql_field_seek(int result, int field_offset);
返回值: 整數
函數類型: 資料庫功能
內容說明
本函數設定目前的指標到返回值的特定欄位中。參數 result 為返回值代碼。參數 field_offset 則為指定的欄位序數。
使用範例
mssql_fetch_field
-----------------------------------------------------
mssql_free_result
釋放返回佔用內存。
語法: int mssql_free_result(int result);
返回值: 整數
函數類型: 資料庫功能
內容說明
本函數可以釋放目前 MS SQL Server 資料庫 query 返回所佔用的內存。一般只有在非常擔心在內存的使用上可能會不足的情形下才會用本函數。PHP 程序會在結束時自動釋放。
-----------------------------------------------------
mssql_num_fields
取得返回欄位的數目。
語法: int mssql_num_fields(int result);
返回值: 整數
函數類型: 資料庫功能
內容說明
本函數可以得到返回欄位的數目。參數 result 為返回值代碼。
參考
mssql_query() mssql_fetch_field() mssql_num_rows()
-----------------------------------------------------
mssql_num_rows
取得返回列的數目。
語法: int mssql_num_rows(int result);
返回值: 整數
函數類型: 資料庫功能
內容說明
本函數可以得到返回列的數目。參數 result 為返回值代碼。
參考
mssql_query() mssql_fetch_field() mssql_num_fields()
-----------------------------------------------------
mssql_pconnect
打開 MS SQL 伺服器長期連接。
語法: int mssql_pconnect(string [servername], string [username], string [password]);
返回值: 整數
函數類型: 資料庫功能
內容說明
本函數和 mssql_connect() 雷同。不同的地方在於使用本函數打開資料庫時,程序會先尋找是否曾經執行過本函數,若執行過則返回先前執行的 ID。另一個不同的地方是本函數無法使用 mssql_close() 關閉資料庫。參數 servername 為欲連上的資料庫伺服器名稱。參數 username 及 password 可省略,分別為連接使用的帳號及密碼。
-----------------------------------------------------
mssql_query
送出一個 query 字元串。
語法: boolean mssql_query(string query, int plink_identifier]);
返回值: 布爾值
函數類型: 資料庫功能
內容說明
本函數送出 query 字元串供 MS SQL Server 做相關的處理或者執行。若沒有指定 link_identifier 參數,則程序會自動尋找最近打開的 ID。成功則返回 true 值。
-----------------------------------------------------
mssql_result
取得查詢 (query) 的結果。
語法: int mssql_result(int result, int row, mixed field);
返回值: 整數
函數類型: 資料庫功能
內容說明
本函數取得一格 query 的結果。參數 field 可以是欄位名稱、順序或者是 fieldname.tablename 的格式。在返回值量少時,可以使用本函數來處理。當資料庫大時,本函數的效率就有待考慮了,這時可以使用較有效率的 mssql_fetch_row()、mssql_fetch_array() 或 mssql_fetch_object() 等函數。
-----------------------------------------------------
mssql_select_db
選擇一個資料庫。
語法: boolean mssql_select_db(string database_name, int [link_identifier]);
返回值: 布爾值
函數類型: 資料庫功能
內容說明
本函數選擇 MS SQL Server 中的資料庫以供之後的數據查詢作業 (query) 處理。成功返回 true,失敗則返回 false。
-----------------------------------------------------
6. 如何利用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 資料庫名");
7. 嵌套循環 php sql
$dsql 的原因 // 錯誤原因 可以理解為「變數更改」
你需要在外面定義一個新的 資料庫類。
比如說定義 $dsql_other = new 「 資料庫類";
在
$dsql_other = new 「 資料庫類";
//通過循環輸出執行查詢中的結果
while($row = $dsql->GetArray()){
//其中所有 關繫到資料庫的都用 $dsql_other
}
8. sql語句中的嵌套 PHP
現在就是需要多添加兩個「"」[雙引號]
只需要在需要的地方添加「\"」[反斜杠雙引號]就可以了
$sql="SELECT * FROM `user` WHERE username in (\"select session_username from online where `session_username` != 'null'\") order by $paixu $desc";
如果直接這樣不行的話 可以用連接符點號【.】$sql="SELECT * FROM `user` WHERE username in ("."\""."select session_username from online where `session_username` != 'null'"."\"".") order by $paixu $desc";
9. sql語句可以執行php語句嗎
不行,sql是給關系型資料庫執行的語言,資料庫是不會認識php代碼的
10. 如何在sql語句中加入php判斷 - 技術問答
[php]if(!empty($area)){? ? ? ? $sqlAdd=\"area=\'$area\',\";}else{? ? ? ? $sqlAdd=\"\";}$sql = \"UPDATE user SET type=\'$type\', password=\'\".md5($password).\"\', name=\'$name\', dateofbirth=\'$dateofbirth\', tel=\'$tel\', \".\"$sqlAdd\".\" identity=\'$identity\', idcard=\'$idcard\', idcardphoto=\'$idcardphoto\', contractphoto=\'$contractphoto\' WHERE id = $id \";[/php]DZ里的寫法 查看原帖>>