当前位置: 首页>>技术问答>>正文


PHP编程常见问题集锦【一】

编者按: 本文从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 ….

本文由《纯净天空》出品。文章地址: https://vimsky.com/article/1522.html,未经允许,请勿转载。