當前位置:首頁 » 編程語言 » phpmysqldb

phpmysqldb

發布時間: 2022-07-19 04:09:24

phpsql語句格式

樓主 試著把寫成 $sql="DELETE FROM table_2 WHERE xm='$_POST[xsxm]'";
應該就可以了,記著$_POST中的 POST 是大寫的。

❷ php申明內部變數,可在函數內使用不能這樣寫嗎

<?php
classdbHelp{
var$mysqldb;
//這里的是類成員變數,在這里的變數只能直接賦值或不賦值,但不能對變數值進行任何邏輯運算和數學運算
functionopenDB(){
$mysqldb=mysql_connect('....');//這樣寫也不是不可以,但這樣寫的話,就是函數方法的內部變數,或者說是局部變數,未曾改變函數外的任何值,函數外也無法訪問這個值
}


}
//下面寫兩個簡單的例子說明

classa{
var$b=10;
functionc(){
$b=20;
}
functiond(){
echo$b;
}
}
$f=newa;
$f->c();
$f->d();
//上面代碼將無任何輸出,因為方法d中的變數$b沒有任何值,也未曾改變過!
classa{

var$b=10;

functionc(){

$b=20;

}

functiond(){

echo$this->b;

}

}

$f=newa;

$f->c();

$f->d();
//上面代碼將輸出10,因為方法b是輸出了類成員變數,而不是類方法內部函數
classa{

var$b=10;

functionc(){

$this->b=20;

}

functiond(){

echo$b;

}

}

$f=newa;

$f->c();

$f->d();
//上面代碼會輸出20,因為方法d中輸出了類成員變數,並且該類成員變數在方法c中改變了

//關鍵在於$this這里

❸ PHP下使用mysqli的函數連接mysql出現warning: mysqli::real_connect(): (hy000/1040): ...

背景:把mysql換成mysqli時出現,連接數過多,其實際上並不是,原因是我挪動了一下php的sock文件位置導致,因這幾個socket修改沒有修改完全,於是出現了too
many
connections
,從mysql里show
processlist並沒有發現真的有連接,其實用tshark抓下包估計能看到(http://justwinit.cn/post/7458/),並沒有發出請求,而估計是mysqli的客戶端自己報出來的,別看這個問題小,搞了老半天,都想重新安裝Php了,發現原來是路徑寫錯了同時mysqli的客戶端提示連接數過多的誤提示導致方向走錯了。如下:
[root@iZ25z0ugwgtZ
etc]#
grep
-r
"mysql.sock"
./
./php.ini:pdo_mysql.default_socket=/data/runsock/mysqlsock/mysql.sock
./php.ini:;mysql.default_socket
=
/tmp/mysql.sock
./php.ini:mysql.default_socket
=
/data/runsock/mysqlsock/mysql.sock
./php.ini:mysqli.default_socket
=
/data/runsock/mysql.sock
//這個位置被挪動到,/data/runsock/mysqlsock/mysql.sock導致。
修改後記得重啟動php-fpm:
[root@iZ25z0ugwgtZ
etc]#
service
php-fpm
restart
Gracefully
shutting
down
php-fpm
.
done
Starting
php-fpm
done
______________________排查要點如下_______________________________
warning:
mysqli::real_connect():
(hy000/1040):
too
many
connections
in:
出現場景
:手動編譯安裝mysql,並制定安裝位置,php以localhost方式連接mysql
原因分析
:手動編譯安裝制定位置後所有的mysql文件都在制定的目錄或者data目錄下面,php默認只會尋找/temp/mysql.sock找這個sock文件,所以會導致sock文件無法找到。
解決方法

1.給sock文件做個軟鏈
ln
-s
/data/mysqldb/mysql.sock
/tmp/mysql.sock;
或者
2.修改php的默認mysql.sock連接地址
mysql.default_socket=/data/mysqldb/mysql.sock
3.使用tcp
socket的方式進行連接
mysql('127.0.0.1','username','passwod');
下面給大家介紹PHP
mysql_connect()
函數
定義和用法
mysql_connect()
函數打開非持久的
MySQL
連接。
語法
mysql_connect(server,user,pwd,newlink,clientflag)
參數
描述
server
可選。規定要連接的伺服器。
可以包括埠號,例如
"hostname:port",或者到本地套接字的路徑,例如對於
localhost

":/path/to/socket"。
如果
PHP
指令
mysql.default_host
未定義(默認情況),則默認值是
'localhost:3306'。
user
可選。用戶名。默認值是伺服器進程所有者的用戶名。
pwd
可選。密碼。默認值是空密碼。
newlink
可選。如果用同樣的參數第二次調用
mysql_connect(),將不會建立新連接,而將返回已經打開的連接標識。參數
new_link
改變此行為並使
mysql_connect()
總是打開新的連接,甚至當
mysql_connect()
曾在前面被用同樣的參數調用過。
clientflag
可選。client_flags
參數可以是以下常量的組合:
MYSQL_CLIENT_SSL
-
使用
SSL
加密
MYSQL_CLIENT_COMPRESS
-
使用壓縮協議
MYSQL_CLIENT_IGNORE_SPACE
-
允許函數名後的間隔
MYSQL_CLIENT_INTERACTIVE
-
允許關閉連接之前的交互超時非活動時間
返回值
如果成功,則返回一個
MySQL
連接標識,失敗則返回
FALSE。
提示和注釋
注釋:腳本一結束,到伺服器的連接就被關閉,除非之前已經明確調用
mysql_close()
關閉了。
提示:要創建一個持久連接,請使用
mysql_pconnect()
函數。
例子
<?php
$con
=
mysql_connect("localhost","mysql_user","mysql_pwd");
if
(!$con)
{
die('Could
not
connect:
'
.
mysql_error());
}
//
一些代碼...
mysql_close($con);
?>

❹ php備份恢復MYSQL資料庫

1、把資料庫sql文件查找 CHARACTER
替換成 CHARACTER SET utf8 或 CHARACTER = utf8

2、到phpmyadmin 創建一個新的資料庫的時候應該選 整理 latin1_swedish_ci

3、到phpmyadmin 進入新建的資料庫,導入資料庫文件

4、用UltraEdit轉換所有ANSI格式的php源碼文件為UTF-8格式:File --> Conversions --> ASCII to UTF-8

5、在php源碼文件中必須加入:
在<head>後加入
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

6、在連接數據DB的文件中找到類似一下代碼
$host="localhost"; $DBname="aa"; //資料庫名字$user= "root"; //用戶名$passwd = ""; //密碼$link = mysql_connect($host,$user,$passwd) or die ("Fail");
$db = mysql_select_db($DBname, $link) or die ("Fail"); //連接
// 要在真正query DB取出資料前,必須加入下面3行mysql_query才可以:
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");

7、在php源碼中, 如有應用htmlentities和htmlspecialchars時需要注意:
要似如下格式:
$chars = htmlentities($chars,ENT_QUOTES,"UTF-8");
$chars = htmlspecialchars($chars,ENT_QUOTES,"UTF-8");
如有應用addslashes()或mysql_real_escape_string()記得用以下:
$chars = stripslashes($chars);

另外如果需要的話還可設置:

1、php.ini 設定php中的語系為 (記得restart)
default_charset = "utf-8"

2、my.ini 設定MySQL中的語系為 (記得restart)
[mysqld]
init_connect='SET NAMES utf8'
default-character-set=utf8
[client]
default-character-set = utf8

本人剛接觸PHP+MySQL,才疏學淺,希望能給有需要的得到幫助。
請大家指點,謝謝!

❺ 如何使用python3.4連接MySQL

序號 描述

1 去github上下載pymysql的安裝包pymysql

2 解壓到某個盤符下

3 打開cmd窗口(win環境下),進入pymysql的根目錄下執行命令,python setup.py install

4 在程序里,導入pymysql

5 開始連接資料庫


資料庫操作的API文檔連接:http://legacy.python.org/dev/peps/pep-0249/

代碼如下:

Python代碼

  • __author__='qindongliang'

  • #導入pymysql的包

  • importpymysql

  • try:

  • #獲取一個資料庫連接,注意如果是UTF-8類型的,需要制定資料庫

  • conn=pymysql.connect(host='localhost',user='root',passwd='qin',db='person',port=3306,charset='utf8')

  • cur=conn.cursor()#獲取一個游標

  • cur.execute('select*fromperson')

  • data=cur.fetchall()

  • fordindata:

  • #注意int類型需要使用str函數轉義

  • print("ID:"+str(d[0])+'名字:'+d[1]+"性別:"+d[2])

  • cur.close()#關閉游標

  • conn.close()#釋放資料庫資源

  • exceptException:print("發生異常")


  • 結果如下:

  • Java代碼

  • D:pythonpython.exeD:/pythonide/pythonprojectworkspace/python/mysql.py

  • ID:1名字:秦天性別:男

  • ID:2名字:王晶性別:女

  • Processfinishedwithexitcode0

  • 原文http://qindongliang1922.iteye.com/blog/2096512

    補充說明:

    mysqldb作為python連接mysql資料庫的工具,但是mysqldb目前支撐的版本較低,安裝失敗。所以才嘗試pymysql,這個比較簡單易用

    軟體下載地址:

    python3.2.5:https://www.python.org/ftp/python/3.2.5/python-3.2.5.msi

    pymysql3.0.5:https://pypi.python.org/packages/source/P/PyMySQL3/PyMySQL3-0.5.tar.gz

    mysql:http://www.phpstudy.net/phpstudy/phpStudyLite.zip(為了方便安裝,我這里選擇phpstudy)

    1、python安裝目錄設定為d:/python32

    2、pymysql安裝方法為:解壓下載的文件,在cmd中運行: python setup.py install。

    檢驗安裝安裝是否成功的方法:import pymysql 。 如果不報錯 說明安裝成功。

    3、mysql安裝目錄為D:/phpStudy/MySQL。為避免更多配置問題,可在啟動phpstudy後,將其設為系統服務

    4、基本操作:

    (1)導入pymysql: import pymysql

    (2)連接資料庫: conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8') 務必注意各等號前面的內容!charset參數可避免中文亂碼

    (3)獲取操作游標:cur=conn.cursor()

    (4)執行sql語句,插入記錄:sta=cur.execute("insert 語句") 執行成功後sta值為1。更新、刪除語句與此類似。

    (5)執行sql語句,查詢記錄:cur.execute("select語句") 執行成功後cur變數中保存了查詢結果記錄集,然後再用循環列印結果:

    for each in cur:

    print(each[1].decode('utf-8')) # each[1] 表示當前游標所在行的的第2列值,如果是中文則需要處理編碼

❻ Python MYSQLdb 插入php序列化後的數據 由於引號問題報錯。

報錯信息很明顯了,SQL語法錯誤

❼ php 連接server sql2008

樓主能走到這一步說明做過不少工作,對流程有所了解,閑話不多說。

說下我感覺:最大的可能是php_sqlsrv_52_ts_vc6.dll注意52,vc6這個文件,52對應PHP版本,apacheIIS應注意vc6,vc9的選擇。

如果不行再聯系,我剛剛配置過還熱乎著

熱點內容
社保卡密碼如何異地改密碼 發布:2025-02-01 08:57:22 瀏覽:33
什麼安卓平板最好能開120幀 發布:2025-02-01 08:55:58 瀏覽:380
安卓怎麼凍結蘋果id賬號 發布:2025-02-01 08:45:16 瀏覽:639
pythonforosx 發布:2025-02-01 08:43:50 瀏覽:763
ftp建站工具 發布:2025-02-01 08:42:07 瀏覽:532
linux開啟ntp 發布:2025-02-01 08:31:42 瀏覽:284
excel密碼加密 發布:2025-02-01 08:17:01 瀏覽:539
陌陌在手機哪個文件夾 發布:2025-02-01 08:13:49 瀏覽:317
proe50解壓打不開 發布:2025-02-01 08:11:17 瀏覽:390
密碼按錯三次怎麼辦 發布:2025-02-01 08:00:24 瀏覽:851