现在我开始回到PHP,我开始记得为什么我放弃了它.目前我盘子里最烦人的事情就是我所说的"PHP的死亡白屏".当PHP由于语法或其他原因而出现致命错误时,似乎总是在没有实际向浏览器发送任何内容的情况下死亡.我已将以下内容添加到我的中.htaccess
,并且它似乎在大多数时间都有效,但在这些情况下它不起作用.
php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting 2147483647 # E_ALL
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?目前我觉得我需要刷新我编写的每几行代码,以免我犯了一个错误,并且必须搜索许多页面,试图找出我犯的一个小错误......
编辑:例如,给出以下两行代码:
$foo = array(':language' => $languageId;
$foo = array(':language' => $languageId);
Run Code Online (Sandbox Code Playgroud)
第一个将显示死亡的白色屏幕(即,什么都没有打印到浏览器),而第二个将愉快地执行.
我尝试尽可能使用单引号,我注意到我不能在单引号中使用\n.我知道我可以通过按回车字面输入换行符,但这会搞砸我代码的缩进.
是否有一些ASCII字符或我可以输入的东西,当我使用单引号时会生成换行符?
CREATE TABLE Posts
{
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200),
url VARCHAR(200)
}
Run Code Online (Sandbox Code Playgroud)
json.php代码
<?php
$sql=mysql_query("select * from Posts limit 20");
echo '{"posts": [';
while($row=mysql_fetch_array($sql))
{
$title=$row['title'];
$url=$row['url'];
echo '
{
"title":"'.$title.'",
"url":"'.$url.'"
},';
}
echo ']}';
?>
Run Code Online (Sandbox Code Playgroud)
我必须生成results.json
文件.
由于某种原因,项目"description"返回NULL
以下代码:
<?php
include('db.php');
$result = mysql_query('SELECT * FROM `staff` ORDER BY `id` DESC LIMIT 2') or die(mysql_error());
$rows = array();
while($row = mysql_fetch_assoc($result)){
$rows[] = $row;
}
echo json_encode($rows);
?>
Run Code Online (Sandbox Code Playgroud)
这是我的数据库的架构:
CREATE TABLE `staff` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` longtext COLLATE utf8_unicode_ci,
`description` longtext COLLATE utf8_unicode_ci,
`icon` longtext COLLATE utf8_unicode_ci,
`date` longtext COLLATE utf8_unicode_ci,
`company` longtext COLLATE utf8_unicode_ci,
`companyurl` longtext COLLATE utf8_unicode_ci,
`appurl` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Run Code Online (Sandbox Code Playgroud)
以下是页面上的回显: …
如何使用php5验证输入值是否是有效的电子邮件地址.现在我正在使用此代码
function isValidEmail($email){
$pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$";
if (eregi($pattern, $email)){
return true;
}
else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
但它显示了已弃用的错误.我该如何解决这个问题.请帮我.
这是我的信息:
我正在使用基于Linux的系统使用MySQL和PHP5.我需要能够mysqldump
在.php文件中生成一个,然后将该转储存储在我指定的位置的服务器上的文件中.
因为我是一个PHP nooblet,我希望有人给我一些帮助,指导或代码,这将做我需要的.这必须从Internet远程运行.
PHP以其类型杂耍而闻名.我必须承认这让我很困惑,而且我很难在比较中找出基本的逻辑/基本事物.
例如:如果$a > $b
是真实的,$b > $c
是真实的,必须将它意味着$a > $c
是永远真实的吗?
遵循基本逻辑,我会说是的,但是我很困惑,我真的不相信PHP.也许某人可以提供一个不是这样的例子?
另外,我想知道严格的小于和严格的大于运算符(因为它们的含义被严格描述,我过去只从等式比较中知道)如果左右操作数交换时有任何区别严格不平等的价值观:
# Precondition:
if ($a === $b) {
throw new Exception(
'Both are strictly equal - can not compare strictly for greater or smaller'
);
}
($a > $b) !== ($b > $a)
Run Code Online (Sandbox Code Playgroud)
对于大多数类型比较组合,这些更大/更小的比较运算符没有记录,因此在这种情况下阅读手册并不是真正有用.
我想在macports上用fpm安装php.我在某处读到fpm意味着FastCGI流程管理器.这是否意味着fastcgi和fpm是一样的?如果它们是相同的,那么为什么我们有两个不同的macports变种用于php,即 "php5 + fastcgi"和 "php5 + fpm"
php ×10
json ×2
comparison ×1
fastcgi ×1
ieee-754 ×1
if-statement ×1
logic ×1
mac-address ×1
macos ×1
macports ×1
mysql ×1
mysqldump ×1
null ×1
optimization ×1
regex ×1
string ×1
validation ×1
wsod ×1