編者按: 本文從stackoverflow收集了PHP編程中的常見問題。基於google/baidu/bing翻譯將問題議成了中文,希望在英語表達不地道(特別是中英文夾雜)的情況下,也能檢索到優質內容入口。 PHP相關問題非常多,我們會陸續將這些問題做成專輯,分成多篇文章分別展現。本文是其中的第一篇內容。 注: 點擊標題直達英文原版網站(可能比較慢),點擊 ,可以通過本站加速器快速訪問。
1. 如何防止PHP中的SQL注入?[PHP] (How can I prevent SQL injection in PHP?)
mysql,sql,security,sql-injection
如果用戶輸入未經修改地插入到SQL查詢中,則應用程序變得容易遭受SQL注入,如以下示例中所示:$ unsafe_variable = $ _POST [‘user_input’]; … …
2. 為什麽我不應該在PHP中使用mysql_ *函數?[PHP] (Why shouldn’t I use mysql_* functions in PHP?)
mysql,database,mysqli,pdo
為什麽不應該使用mysql_ *函數的技術原因是什麽? (例如mysql_query(),mysql_connect()或mysql_real_escape_string())?為什麽我應該使用別的,即使他們工作…
3. PHP:“注意:未定義變量”,“注意:未定義索引”和“注意:未定義偏移量”[PHP] (PHP: “Notice: Undefined variable”, “Notice: Undefined index”, and “Notice: Undefined offset”)
arrays,variables,warnings,undefined-index
注意:未定義的變量:my_variable_name在C: wamp www mypath index.php第10行注意:未定義的索引:my_index C: wamp www .. 。
4. mysqli_fetch_array()/ mysqli_fetch_assoc()/ mysqli_fetch_row()期望參數1是resource或mysqli_result,boolean給定[PHP] (mysqli_fetch_array()/mysqli_fetch_assoc()/mysqli_fetch_row() expects parameter 1 to be resource or mysqli_result, boolean given)
mysql,mysqli
我試圖從MySQL表中選擇數據,但我得到以下錯誤消息之一:mysql_fetch_array()期望參數1是resource,boolean givenor mysqli_fetch_array()…
5. PHP解析/語法錯誤;和如何解決他們?[PHP] (PHP Parse/Syntax Errors; and How to solve them?)
parsing,debugging,syntax-error
每個人都遇到語法錯誤。甚至有經驗的程序員打錯字。對於新來的人來說,它隻是學習過程的一部分。但是,通常很容易解釋錯誤消息,如:PHP …
6. 如何修複PHP中的“頭已發送”錯誤[PHP] (How to fix “Headers already sent” error in PHP)
header
當我運行我的腳本,我得到幾個錯誤,像這樣:警告:不能修改頭信息 – 頭文件已經發送(輸出開始在/some/file.php:12)在/some/file.php在23行…
7. PHP郵件表單未完成發送電子郵件[PHP] (PHP mail form doesn’t complete sending e-mail)
html,email
<?php $ name = $ _POST [‘name’]; $ email = $ _POST [’email’]; $ message = $ _POST [‘message’]; $ from =’From:yoursite.com’; $ to =’contact@yoursite.com’; $ subject =’客戶…
8. 如何在PHP中解析和處理HTML / XML?[PHP] (How do you parse and process HTML/XML in PHP?)
parsing,xml-parsing,html-parsing
如何解析HTML / XML並從中提取信息?
9. UTF-8一路通過[PHP] (UTF-8 all the way through)
mysql,linux,apache
我設置一個新的服務器,並希望在我的Web應用程序完全支持UTF-8。我已經嘗試過去在現有的服務器,總是似乎最終必須回到ISO-8859-1.Where …
10. 參考 – 這個錯誤是什麽意思在PHP?[PHP] (Reference – What does this error mean in PHP?)
debugging,warnings
這是什麽?這是關於編程PHP時可能會遇到的警告,錯誤和通知的多個答案,沒有如何解決的線索。這也是一個社區Wiki,所以每個人都是…
11. 什麽時候在MySQL中使用單引號,雙引號和反引號[PHP] (When to use single quotes, double quotes, and backticks in MySQL)
mysql,sql
我試圖學習寫查詢的最好方法。我也明白一致的重要性。直到現在,我隨機使用單引號,雙引號和反引號沒有任何真實的…
12. 客戶端和服務器端編程有什麽區別?[PHP] (What is the difference between client-side and server-side programming?)
javascriptclient-side,server-side
我有這個代碼:<script type =“text / javascript”> var foo =’bar’; <?php file_put_contents(’foo.txt’,’+ foo +’); ?> var baz = <?php echo 42; ?>; … …
13. SQL注入,繞過mysql_real_escape_string()[PHP] (SQL injection that gets around mysql_real_escape_string())
mysql,sql,security,sql-injection
有沒有SQL注入的可能性,即使使用mysql_real_escape_string()函數嗎?考慮這個示例情況。 SQL在PHP中構建,如下所示:$ login = mysql_real_escape_string(…
14. 參考 – 這個符號在PHP中意味著什麽?[PHP] (Reference – What does this symbol mean in PHP?)
operators,symbols
這是什麽?這是一個問題的集合,每時每刻都在PHP的語法。這也是一個社區Wiki,所以大家被邀請參加維護這個列表。 … …
15. 使用正則表達式驗證電子郵件地址[PHP] (Using a regular expression to validate an email address)
regex,email,pattern-matching,email-validation
多年來,我慢慢地開發了一個正規表達式,驗證MOST電子郵件地址正確,假設他們不使用IP地址作為服務器部分。我使用它在幾個PHP程序,…
16. 在PHP中將一種日期格式轉換為另一種格式[PHP] (Convert one date format into another in PHP)
datetime,date,format
有一個簡單的方法將一個日期格式轉換為PHP中的另一個日期格式我有這樣:$ old_date = date(’y-m-d-h-i-s’); // works $ middle = strtotime($ old_date); // …
17. 我可以在PHP中混合MySQL API嗎?[PHP] (Can I mix MySQL APIs in PHP?)
mysql,pdo,mysqli
我已經搜索網,到目前為止我看到的是,你可以使用mysql_和mysqli_在一起的含義:<?php $ con = mysqli_connect(“localhost”,“root”,“”,“mysql”); if(mysqli_connect_errno (…)
18. 如何在PHP中獲取有用的錯誤消息?[PHP] (How to get useful error messages in PHP?)
debugging,error-handling
我發現在PHP編程相當令人沮喪。通常我會嘗試和運行腳本,隻是得到一個空白屏幕回來。沒有錯誤消息,隻是空屏幕。原因可能是一個簡單的語法…
19. 我如何在PHP中排序數組和數據?[PHP] (How can I sort arrays and data in PHP?)
arrays,sorting,object,spl
由於巨大的和不斷重複的“我如何排序我的獨特的雪花的陣列?問題,這是PHP中基本排序方法的參考集合。請關閉任何問題…
20. 如何將變量和數據從PHP傳遞到JavaScript?[PHP] (How to pass variables and data from PHP to JavaScript?)
javascript
我有一個變量在PHP,我需要它的值在我的JavaScript代碼。如何獲取我的變量從PHP到JavaScript?我有如下代碼:<$ php … $ val = $ myService – > …
21. PHP中單引號和雙引號字符串之間的區別是什麽?[PHP] (What is the difference between single-quoted and double-quoted strings in PHP?)
string,syntax
我不是PHP編程的專家,但我有點困惑為什麽我看到一些代碼在PHP與字符串放在單引號,有時在雙引號。我隻是知道在.NET或C語言,如果.. 。
22. 參考:什麽是變量範圍,哪些變量可以從哪裏訪問,什麽是“未定義變量”錯誤?[PHP] (Reference: What is variable scope, which variables are accessible from where and what are “undefined variable” errors?)
scope
注意:這是在PHP中處理變量範圍的參考問題。請關閉適合此模式的許多問題中的任何一個與此一樣重複。什麽是PHP中的“變量範圍”?是 …
23. PHP代碼沒有被執行,代碼顯示在頁麵上[PHP] (PHP code is not being executed, instead code shows on the page)
apache
我試圖在一個項目(使用Dreamweaver)執行一些PHP代碼,但代碼沒有運行。當我檢查源代碼,PHP代碼顯示為HTML標簽(我可以看到它的源代碼)。 … …
24. 如何在不同的環境中獲取mysqli錯誤?[PHP] (How to get mysqli error in different environments?)
mysqli,prepared-statement,environment,error-reporting
請幫我計算這個問題。在我的LOCAL / DEV環境中,mysqli查詢執行確定。然而,當我上傳它在我的WEBHOST環境,我得到這個錯誤;致命錯誤:致電…
25. PHP密碼的安全散列和鹽[PHP] (Secure hash and salt for PHP passwords)
security,passwords,hash,protection
目前說MD5是部分不安全的。考慮到這一點,我想知道使用哪種機製來保護密碼。這個問題是“雙重散列”的密碼少於…
26. 如何使用PHP計算兩個日期之間的差異?[PHP] (How to calculate the difference between two dates using PHP?)
datetime,datediff
我有兩個日期的形式:開始日期:2007-03-24結束日期:2009-06-26Now我需要找到這兩個之間的區別如下形式:2年,3個月和2天我怎麽能這樣做… …
27. 如何使用PHP從JSON中提取數據?[PHP] (How do I extract data from JSON with PHP?)
json
這是一個通用的參考問題和答案,涵蓋了許多永無止境的“如何在我的JSON中訪問數據?問題。它是在這裏處理廣泛的基礎知識解碼JSON在…
28. jQuery Ajax POST示例使用PHP[PHP] (jQuery Ajax POST example with PHP)
javascript,jquery,ajax,post
我試圖從表單發送數據到數據庫。這是我使用的形式:<form name =“foo”action =“form.php”method =“POST”id =“foo”> <label for =“bar”> A bar </ label> 。
29. PHP PDO語句是否可以接受表或列名作為參數?[PHP] (Can PHP PDO Statements accept the table or column name as parameter?)
pdo
為什麽不能將表名傳遞給一個準備好的PDO語句?$ stmt = $ dbh-> prepare(’SELECT * FROM:table WHERE 1’); if($ stmt-> execute(array(’:table’ >’users’))){var_dump($ stmt – > …
30. 如何獲取PHP錯誤顯示?[PHP] (How do I get PHP errors to display?)
error-reporting
我檢查了我的PHP ini文件,顯示錯誤設置和錯誤報告是E_ALL。我已經重新啟動我的Apache Web服務器。我甚至把這些行在我的腳本的頂部,它不… …
31. 如何使用bcrypt在PHP中哈希密碼?[PHP] (How do you use bcrypt for hashing passwords in PHP?)
passwords,cryptography,password-protection,bcrypt
每時每刻,我聽到建議“使用bcrypt在PHP中存儲密碼,bcrypt規則”。什麽是bcrypt? PHP不提供任何這樣的功能,維基百科迷惑關於文件加密…
32. 如何訪問數組/對象?[PHP] (How can I access an array/object?)
arrays,class,object,properties
我有以下數組,當我做print_r(array_values($ get_user));我得到:Array([0] => 10499478683521864 [1] => 07/22/1983 [2] => email@saya.com … …
33. 清除用戶密碼[PHP] (Cleansing User Passwords)
sql,pdo,hash
我應該如何轉義或清除用戶提供的密碼,然後將它們存儲在我的數據庫?當PHP開發人員考慮為用戶的密碼安全目的,他們往往傾向於…
34. PHP – 無法打開流:沒有這樣的文件或目錄[PHP] (PHP – Failed to open stream : No such file or directory)
fopen,require,include-path,php-include
在PHP腳本中,無論是調用include(),require(),fopen()還是其派生類如include_once,require_once或甚至move_uploaded_file(),都會遇到錯誤或警告:
35. 如何在PHP中進行重定向?[PHP] (How to make a redirect in PHP?)
redirect
是否可以通過使用PHP將用戶重定向到其他頁麵?說用戶訪問www.example.com/page.php,我想將其重定向到www.example.com/index.php,如何我這樣做…
36. 什麽是用PHP清理用戶輸入的最好的方法?[PHP] (What’s the best method for sanitizing user input with PHP?)
security,xss,sql-injection,user-input
是否有一個catchall函數在某處適用於消毒用戶輸入的SQL注入和XSS攻擊,同時仍然允許某些類型的html標簽?
37. 3不同等於[PHP] (The 3 different equals)
javascriptcomparison,operators
==,==和===有什麽區別?我想使用一個等號是聲明一個變量,而兩個等號用於比較條件,最後三個等號用於比較…
38. 如何在30分鍾後過期PHP會話?[PHP] (How do I expire a PHP session after 30 minutes?)
session,cookies
我需要保持一個會話活30分鍾,然後銷毀它。
39. 按值排序多維數組[duplicate][PHP] (Sort Multi-dimensional Array by Value [duplicate])
arrays,sorting,multidimensional-array
可能的重複:如何在PHP中排序多維數組我如何通過“順序”鍵的值排序這個數組?即使這些值當前是連續的,它們也不會總是…
40. 是否可以接受PHP短標簽來使用?[PHP] (Are PHP short tags acceptable to use?)
coding-style,php-shorttags
這裏是根據官方文檔的信息:有四個不同的開始和結束標簽的對可以在PHP中使用。其中兩個,<?php?>和<…
41. 如何將ereg表達式轉換為preg在PHP?[PHP] (How can I convert ereg expressions to preg in PHP?)
preg-replace,preg-match,pcre,ereg
因為POSIX正則表達式(ereg)從PHP 5.3.0開始棄用,我想知道一個簡單的方法來將舊表達式轉換為PCRE(Perl Compatible Regular Expressions)(preg).Per example,I …
42. 如何在MVC中構建模型?[PHP] (How should a model be structured in MVC?)
oop,model-view-controller,architecture,model
我隻是掌握了MVC框架,我經常想知道多少代碼應該在模型中。我傾向於有一個數據訪問類,具有這樣的方法:public function CheckUsername($ …
43. 我的PDO語句不工作[PHP] (My PDO Statement doesn’t work)
mysql,pdo
這是我的PHP sql語句,它返回false同時var dumping $ password_md5 = md5($ _ GET [‘password’]); $ sql = $ dbh-> prepare(’INSERT INTO users(full_name,e_mail,username,password, … ..
44. 如何實現基本的“長輪詢”?[PHP] (How do I implement basic “Long Polling”?)
http,comet
我可以找到很多關於長輪詢如何工作的信息(例如,這個和這個),但沒有簡單的例子如何在代碼中實現這一切。我可以找到是cometd,它依賴於Dojo JS …
45. 我可以將數組綁定到IN()條件嗎?[PHP] (Can I bind an array to an IN() condition?)
arrays,pdo,prepared-statement,where-in
我很想知道是否可以使用PDO將值數組綁定到占位符。這裏的用例是嘗試傳遞一個值的數組用於IN()條件。我不是很…
46. mysql擴展已被棄用,將來會被刪除:using mysqli or PDO instead [duplicate][PHP] (The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead [duplicate])
mysql,deprecated
當我嘗試從PHP連接到MySQL服務器時,我看到以下錯誤:Deprecated:mysql擴展已過時,將來會被刪除:use mysqli or PDO instead in / path / …
47. 如何將JavaScript變量傳遞給PHP?[PHP] (How to pass JavaScript variables to PHP?)
javascript,variables
我想使用表單中的隱藏輸入將JavaScript變量傳遞給PHP。但我不能得到$ _POST [‘hidden1’]的值到$ salarieid。有什麽不對?這裏是代碼:<script …
48. mysqli或PDO – 有什麽優點和缺點? [關閉][PHP] (mysqli or PDO – what are the pros and cons? [closed])
mysql,pdo,mysqli,database-abstraction
在我們的地方,我們分開使用mysqli和PDO之類的東西,如準備語句和事務支持。一些項目使用一個,一些其他。我們沒有什麽現實的可能性…
49. PDO準備語句是否足以防止SQL注入?[PHP] (Are PDO prepared statements sufficient to prevent SQL injection?)
security,pdo,sql-injection
讓我們說我有這樣的代碼:$ dbh = new PDO(“blahblah”); $ stmt = $ dbh-> prepare(’SELECT * FROM users where username =:username’); $ stmt-> execute(array :username’=> $ _REQUEST [‘…
50. 使用GMail SMTP服務器從PHP頁麵發送電子郵件[PHP] (Send email using the GMail SMTP server from a PHP page)
email,smtp,gmail
我試圖通過GMail的SMTP服務器從PHP頁麵發送電子郵件,但我得到這個錯誤:身份驗證失敗[SMTP:SMTP服務器不支持身份驗證(代碼:250,響應:mx.google ….