當前位置:首頁 » 編程語言 » phpmysql參數

phpmysql參數

發布時間: 2022-05-06 05:27:45

php mysqli 預處理 怎麼綁定參數

<?php

/* 連接資料庫類 MysqlConnect */

class MysqlConnect{
private $dbhost=null;
private $dbuser=null;
private $dbpwd=null;
private $dbname=null;
private $dbport=null;
private $ifpdo=null;
private $dburi=null;
private $handler=null;

function __construct($dbhost,$dbuser,$dbpwd,$dbname,$dbport,$ifpdo,$dburi){
$this->dbhost=$dbhost;
$this->dbuser=$dbuser;
$this->dbpwd=$dbpwd;
$this->dbname=$dbname;
$this->dbport=$dbport;
$this->ifpdo=$ifpdo;
$this->dburi=$dburi;//PDO的URI參數,可以查手冊
if($this->ifpdo==1){//表示調用PDO來操作資料庫
$this->handler=$this->CreatePdo();
}elseif($this->ifpdo==0){//這里可以寫MYSQLI的方法
$this->handler=null;
}
}
/* ----------------這里是入口--------------------- */
//@param sql:外部調用時傳遞的完整SQL語句
//@param bindArray:綁定的參數數組,與sql語句有關,如果沒有PDO佔位符此處為空
//@param action:傳遞操作參數,"select"/"update"/"delete"/"insert"
public function exeSql($sql,$bindArray=array(),$action=""){
$stmt=$this->handler->prepare($sql);
$stmt->execute($bindArray);
switch($action){
case "select":
return $stmt->fetch(PDO::FETCH_ASSOC);
break;
case "selectAll":
return $stmt->fetchAll(PDO::FETCH_ASSOC);
break;
case "update":
case "delete":
return $stmt->rowCount();
break;
case "insert":
return $this->handler->lastInsertId();
break;
case "count":
return $stmt->rowCount();
default:
return "";
}
}
public function query($sql){
return $this->handler->query($sql);
}
private function CreatePdo(){
try{
$handler=new PDO($this->dburi,$this->dbuser,$this->dbpwd);
$handler->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
return $handler;
}catch(PDOException $e){
$e->getMessage();
$this->handler=null;
}
}
private function __get($args){
if($args=='handler'){
return $this->handler;
}
}
}
require(NEO_A_P.'\data\sqlconfig.php');//這里是sql的連接文件,下面創建對象的時候需要的變數就是這個文件里要有的
$handler=new MysqlConnect($dbhost,$dbuser,$dbpwd,$dbname,$dbport,$ifpdo,$dburi);
?>

編譯PHP要用什麼樣的參數,才能支持遠程連接Mysql伺服器

和PHP沒關系,要設置MYSQL
用root用戶進資料庫,選擇mysql庫,user表裡,把對應用戶(比如root)的Host改為%號(任意IP,不分本地遠程),或者改為某一IP(指定IP登錄),再重啟下MYSQL,就可以遠程訪問MYSQL了。

❸ php的網站信息翻頁功能跟mysql數據表哪些參數有關

<?php
$mysql_host = 'localhost';
$mysql_user = 'root';
$mysql_password = '';
$mysql_database = 'testdb';
///*Connect to the local server,可以在函數名前加上 @ 來抑制失敗時產生的錯誤信息。
$link = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die(mysql_error());
mysql_select_db($mysql_database) or die(mysql_error());
//set charset 設定字元集解決漢字問題
mysql_query("set names 'gbk'");

$rowsPerPage = 3; //定義每頁的行數
$row = mysql_fetch_assoc(mysql_query("SELECT count(*) AS c FROM testmsg")); //查詢表中的總記錄數
$rows = $row['c']; //得到表中總記錄數

$pages = ceil($rows / $rowsPerPage); //計算出頁數
$curPage = 1; //當前要顯示第幾頁,默認顯示第1頁
//$_REQUEST變數比較大,一般不用。常用的是$_POST,$_GET,二者與form表單method保持一致。$_GET還支持url傳值
if(isset($_GET['curPage'])) //假如用戶提交了指定的頁數
$curPage = $_GET['curPage']; // 就將欲顯示的頁數設定為用戶指定的值
//倒序查詢
//echo $curPage;
$sql = "SELECT * FROM testmsg ORDER BY id DESC"." LIMIT ".($curPage -1)*$rowsPerPage.", $rowsPerPage"; //修改sql語句,使得可以查詢出指定的結果集
//echo $sql;
$result = mysql_query($sql) or die(mysql_error());
//列表顯示----------顯示部分內容不變
while($row = mysql_fetch_assoc($result)){
echo "<table width = '90%' align = 'center' cellpadding = '1' cellspacing = '1' bgcolor = 'blue'> ";
echo " <tr>";
echo " <td rowspan='2' width = '25%' bgcolor = 'white'>";
echo " <li><span style='color:red;'>編號:</span>{$row['id']}</li>";
echo " <li><span style='color:red;'>用戶:</span>{$row['email']}</li>";
echo " <li><span style='color:red;'>地址:</span>{$row['ip']}</li>";
echo " <li><span style='color:red;'>時間:</span>{$row['time']}</li>";
echo " <li><font color = 'red'>其他:</font>{$row['other']}"; //html舊式寫法
echo " </td>";
echo " <td bgcolor = 'yellow' ><font color = 'red'>標題:</font><a href = modifyMsg.php?id={$row['id']}>{$row['title']}</td>";
echo " </tr>";
echo " <tr>";
echo " <td bgcolor = 'white' >{$row['content']}</td>";
echo " </tr>";
echo "</table>";
echo "<br />";
}
//顯示全部分頁的鏈接
echo "<div align = 'center'>";
for($i=1;$i<=$pages;$i++){ //循環顯示,每個鏈接指定curPage屬性為其指向的頁數就可以了
echo "<a href='testpage201.php?curPage=$i'>$i</a> ";

}
//下拉框分頁
echo "<form name = 'form1' action = 'testpage201.php?curPage=$curPage' method = 'GET'>";
echo " <select name= 'curPage' onchange = 'document.form1.submit();'>";
for($i = 1; $i <=$pages; $i++){
if($i == $curPage)
echo "<option selected>$i</option>";
else
echo "<option>$i</option>";

}
echo " </select>";
echo " </form>";
//首頁、前頁、後頁、末頁的鏈接
if($curPage>1){
echo "<a href = 'testpage201.php?curPage=1'>首頁</a> ";
echo "<a href = 'testpage201.php?curPage=".($curPage-1)."'>前頁</a> ";

}
if($curPage<$pages){
echo "<a href='testpage201.php?curPage=".($curPage+1)."'>後頁</a> ";
echo "<a href = 'testpage201.php?curPage=$pages'>末頁</a> ";
}
echo "</div>";
//列表顯示完畢

mysql_free_result($result);
mysql_close($link);

//$link->close()等同於mysql_close($link);
//$result->free()等同於mysql_free_result($result);
//$link->query($sql)等同於mysql_query($sql,$link);

/*
MySQL limit的實際用法的詳細解析,在我們使用相關的查詢語句的時候,一般都要返回前幾條或是中間的某幾行數據,這時你應如何處理呢?不必擔心,MySQL資料庫已經為我們提供了這樣一個功能。

SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset

LIMIT 子句可以被用於強制 SELECT 語句返回指定的記錄數。MySQL LIMIT 接受一個或兩個數字參數。參數必須是一個整數常量。如果給定兩個參數,第一個參數指定第一個返回記錄行的偏移量,第二個參數指定返回記錄行的最大數目。初始記錄行的偏移量是 0(而不是 1): 為了與 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

MySQL> SELECT * FROM table LIMIT 5,10;

檢索記錄行 6-15

為了檢索從某一個偏移量到記錄集的結束所有的記錄行,可以指定第二個參數為 -1:

MySQL> SELECT * FROM table LIMIT 95,-1;

檢索記錄行 96-last.

如果只給定一個參數,它表示返回最大的記錄行數目:

MySQL> SELECT * FROM table LIMIT 5;

檢索前 5 個記錄行。換句話說,LIMIT n 等價於 MySQL LIMIT 0,n。以上的相關內容就是對MySQL limit的用法詳解的介紹,望你能有所收獲。 */
?>

<?php
$link = mysql_connect("localhost","root","");
$sqlstr = "SELECT * FROM testmsg";
$send = mysql_db_query("testdb",$sqlstr);
$fdat = mysql_fetch_row($send);
$fdat = mysql_fetch_row($send); //試試調用兩次的結果?
//mysql_fetch_row() 從和指定的結果標識關聯的結果集中取得一行數據並作為數組返回。每個結果的列儲存在一個數組的單元中,偏移量從 0 開始。
//依次調用 mysql_fetch_row() 將返回結果集中的下一行,如果沒有更多行則返回 FALSE。

//print_r($fdat);
//foreach的兩種寫法
//foreach($fdat as $value){
foreach($fdat as $key => $value){
echo "$key:$value<br />";
}

mysql_data_seek($send,0); //指針所在位置回到第一條記錄上
$fdat = mysql_fetch_row($send);
foreach($fdat as $name => $valu){ //key => value 可以換寫法命名
echo "$name:$valu<br />";
}
mysql_free_result($send);
mysql_close($link);
/*
foreach
PHP 4 引入了 foreach 結構,和 Perl 以及其他語言很像。這只是一種遍歷數組簡便方法。foreach 僅能用於數組,當試圖將其用於其它數據類型或者一個未初始化的變數時會產生錯誤。有兩種語法,第二種比較次要但卻是第一種的有用的擴展。

foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement

第一種格式遍歷給定的 array_expression 數組。每次循環中,當前單元的值被賦給 $value 並且數組內部的指針向前移一步(因此下一次循環中將會得到下一個單元)。
第二種格式做同樣的事,只除了當前單元的鍵名也會在每次循環中被賦給變數 $key。
自PHP 5 起,還可能遍歷對象。

Note:
當 foreach 開始執行時,數組內部的指針會自動指向第一個單元。這意味著不需要在 foreach 循環之前調用 reset()。

Note:
除非數組是被引用,foreach 所操作的是指定數組的一個拷貝,而不是該數組本身。foreach對數組指針有些副作用。除非對其重置,在 foreach 循環中或循環後都不要依賴數組指針的值。

自 PHP 5 起,可以很容易地通過在 $value 之前加上 & 來修改數組的元素。此方法將以引用賦值而不是拷貝一個值。

*/

?>

<?php
$link1 = mysql_connect("localhost","root","");
$link2 = mysql_connect("localhost","root","");;
//mysql_close();
//如果關閉連接,則無輸出並報錯。
/*
bool mysql_close ([ resource $link_identifier ] )
mysql_close() 關閉指定的連接標識所關聯的到 MySQL 伺服器的非持久連接。如果沒有指定 link_identifier,則關閉上一個打開的連接。
*/
$result = mysql_query("select count(*) from testdb.testmsg"); //查詢結果集
$row = mysql_fetch_row($result); //從結果集中取出一行作為枚舉數組返回
print_r($row); //輸出數據表的總行數的數組信息
echo $row[0];
?>

❹ 怎樣用PHP中的MySQL操作函數

1. 建立MySQL 連接:mysql_connect
resource mysql_connect([string $server[, string $username [, string $password [, bool $new_link [, int $client flags]]]]])
打開或重復使用一個到MySQL伺服器的連接。其中,server代表MySQL伺服器,可以包括埠號,例如「hostname:port」。username和password分別代表登錄MySQL伺服器使用的用戶名和密碼。
2. 選擇 MySQL 資料庫:mysql_select_db
bool mysql_select_db(string $database_name[, resource $link_identifier])
設定與指定的連接標識符所關聯的伺服器上的當前資料庫。如果沒有指定連接標識符,則使用上一個打開的連接。如果沒有打開的連接,本函數將無參數地調用mysql_connect()來嘗試打開一個資料庫連接。如果成功則返回true,失敗則返回false。每個其後的mysgl_query()調用都會作用於活動資料庫。
3. 執行查詢:mysql_query
resource mysql_query(string $query[, resource $link_identifier])
向與指定的連接標識的關聯的伺服器中的當前活動資料庫發送一條查詢。如果沒有指定 link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數地調用mysql_connect()函數來建立一個連接,查詢結果會被緩存。mysql_query()僅對SELECT、SHOW、EXPLAIN或DESCRIBE語句返回一個資源標識符,如果查詢執行不正確則返回false。對於其他類型的SQL語句,mysgl_query()在執行成功時返回true,出錯時返回false。非false的返回值意味著查詢是合法的並能夠被伺服器執行但是並不說明任何影響到的或返回的行數。因為一條查詢執行成功了但並未影響到或並未返回任何行的情況是可能發生的。
4. 從結果集中取得一行作為枚舉數組:mysql_fetch_row
array mysql_fetch_row(resource $result)
從和指定的結果標識關聯的結果集中取得一行數據並作為數組返回。每個結果的列儲存在一個索引數組的單元中,偏移量從0開始。依次調用mysql_fetch_row()將返回結果集中的下一行,如果沒有更多行則返回false。
5. 從結果集中取得一行作為關聯數組,或數字數組,或二者兼有:mysql_fetch_array
array mysql_fetch_array(resource $result[, int $result_type])
mysql_fetch_row()的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用欄位名作為鍵名。如果結果中出現欄位名重名的現象,最後一列將優先。要訪問同名的其他列,必須用該列的數字索引或給該列起個別名。對有別名的列,用別名來訪問其內容。
6. 關閉 MySQL 連接:mysql_close
bool mysql_close([resource $link_identifier])
mysql_close()關閉指定的連接標識所關聯的到MySQL伺服器的非持久連接。如果沒有指定link_identifier,則關閉上一個打開的連接。
例PHP中使用MySQL資料庫(mysql.php)
<?php//連接MySQL資料庫
mysql_connect('localhost', 'root', '123');
//選擇當前資料庫
//等效為執行USE test
mysql_select_db('test');
//在當前資料庫執行SQL語句
$query = "SELECT * FROM students";
$result = mysql_query($query);
//操作上次查詢返回的結果集,注意$result變數一般是需要的
while($student = mysql_fetch_array($result)) {
echo '<pre>';
print_r($student);
echo '</pre>';
}
?>

❺ php中的mysql函數的參數格式問題

給你找了些資料:
介紹的挺詳細的:
mysql_fetch_array函數
--
從結果集中取得一行作為關聯數組(是以你所搜索的欄位作為的鍵名),或數字數組(也就是你所說的0,1,2,3...),或二者兼有
相關說明
array
mysql_fetch_array
(
resource
result
[,
int
result_type])
返回根據從結果集取得的行生成的數組,如果沒有更多行則返回
false。
mysql_fetch_array()

mysql_fetch_row()
的擴展版本。除了將數據以數字索引方式儲存在數組中之外,還可以將數據作為關聯索引儲存,用欄位名作為鍵名。
如果結果中的兩個或以上的列具有相同欄位名,最後一列將優先。要訪問同名的其它列,必須用該列的數字索引或給該列起個別名。對有別名的列,不能再用原來的列名訪問其內容(本例中的
'field')。
還是看幾個例子:
例子
1.
相同欄位名的查詢
select
table1.field
as
foo,
table2.field
as
bar
from
table1,
table2
有一點很重要必須指出,用
mysql_fetch_array()
並不明顯
比用
mysql_fetch_row()
慢,而且還提供了明顯更多的值。
mysql_fetch_array()
中可選的第二個參數
result_type
是一個常量,可以接受以下值:mysql_assoc,mysql_num

mysql_both。本特性是
php
3.0.7
起新加的。本參數的默認值是
mysql_both。
如果用了
mysql_both,將得到一個同時包含關聯和數字索引的數組。用
mysql_assoc
只得到關聯索引(如同
mysql_fetch_assoc()
那樣),用
mysql_num
只得到數字索引(如同
mysql_fetch_row()
那樣)。
注:
該函數返回的欄位名是大小寫敏感的。
例子
2.
mysql_fetch_array
使用
mysql_num
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_num))
{
printf
("id:
%s
name:
%s",
$row[0],
$row[1]);
}
mysql_free_result($result);
?>
例子
3.
mysql_fetch_array
使用
mysql_assoc
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_assoc))
{
printf
("id:
%s
name:
%s",
$row["id"],
$row["name"]);
}
mysql_free_result($result);
?>
例子
4.
mysql_fetch_array
使用
mysql_both
<?php
mysql_connect("localhost",
"mysql_user",
"mysql_password")
or
die("could
not
connect:
"
.
mysql_error());
mysql_select_db("mydb");
$result
=
mysql_query("select
id,
name
from
mytable");
while
($row
=
mysql_fetch_array($result,
mysql_both))
{
printf
("id:
%s
name:
%s",
$row[0],
$row["name"]);
}
mysql_free_result($result);
此例中的"while
($row
=
mysql_fetch_array($result,
mysql_both))"
也可以將括弧中的第二個參數去掉,既等價於:
"while
($row
=
mysql_fetch_array($result))"
?>
---------------------------------------------------------------------
仔細看看這些
相信對你有所幫助

❻ 詳解php語法:mysql_connect()方法 其中這個參數中的server,user,pwd應該怎樣填寫。

mysql_connect()的語法是這樣的:
mysql_connect("主機名","資料庫用戶名","資料庫密碼");
首先,你是在本地測試的,那麼主機名你可以用localhost,也可以用127.0.0.1。
其次,既然你在安裝mysql時設置了用戶名為root,那麼,資料庫用戶名一項就可以填寫root。
其三,資料庫密碼是你的mysql名戶名為root的用戶的密碼。
根據你給出的信息,正確的連接應該是:
mysql_connect("localhost","root","資料庫密碼");

❼ php 調用mysql存儲過程 輸入多個參數,出參只需一個如何寫

以下只是個例子
CREATE procere test
@n1 char(10),
@n2 char(10),
@n3 char(10),
@n4 char(10),
@n5 char(10),
@n6 char(10),
@n7 char(10),
@n8 datetime,
@n9 datetime,
@n10 int

as
select * --------這部分請將傳入的參數帶入查詢的條件中
from table1 t1,table2 t2,table3 t3
where deldate between @n8 and @n9
and t1.ponum = t2.ponum
and t2.partnum = t3.partnum
and t3.layer =@n1

GO

❽ PHP中的一些MySQL函數

mysql可通過兩種方式通過php與web相連,一種通過php的mysql相關函數,相關函數如下:
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:
取得資料表名稱。

❾ php和mysql參數編碼問題

在PHP編碼時加一行mysql_query('set names utf8');保證MySQL是utf8格式的,php的默認格式一般是utf8的。

熱點內容
交叉編譯優化 發布:2025-05-14 03:48:52 瀏覽:529
動圖在線壓縮 發布:2025-05-14 03:35:24 瀏覽:132
w7共享無法訪問 發布:2025-05-14 03:35:24 瀏覽:482
為什麼微信會出現賬號密碼錯誤 發布:2025-05-14 03:03:30 瀏覽:692
幻影腳本官網 發布:2025-05-14 03:01:13 瀏覽:826
servlet的webxml怎麼配置 發布:2025-05-14 02:51:46 瀏覽:772
怎麼取消手勢密碼 發布:2025-05-14 02:51:11 瀏覽:639
openvpn搭建vpn伺服器搭建 發布:2025-05-14 02:47:52 瀏覽:998
密碼忘了從哪裡找 發布:2025-05-14 02:39:09 瀏覽:548
我的世界什麼伺服器有前途 發布:2025-05-14 02:30:31 瀏覽:528