小编Mar*_*arm的帖子

php/Mysql最佳树形结构

我必须构建一个包含大约300个节点的树.树没有深度限制.所以它可以有3或15个级别.每个节点可以拥有无​​限数量的孩子.

优先级是尽可能快地获得完整的树/子树,但我还需要添加节点或移动节点,但有时不需要.

我想知道在数据库中存储树的最佳方法,以及在php中检索数据的最佳方法(如果可能的话).

php mysql tree hierarchical hierarchical-data

20
推荐指数
2
解决办法
3万
查看次数

memory_limit:它是如何工作的?

我有一个运行大约2个小时的PHP脚本.这是一个cron工作.cron作业每4小时运行一次.

在脚本的末尾,我显示一些内存值.

The memory_get_usage() result is 881568 Bytes (0.840766906738M)
The memory_get_peak_usage() result is 1340304 Bytes (1.27821350098M)
The memory_get_usage(true) result is 1572864 Bytes (1.5M)
The memory_get_peak_usage(true) result is 1835008 Bytes (1.75M)
Run Code Online (Sandbox Code Playgroud)

php.ini中的memory_limit是128M并且它不起作用.我把它提升到256M,现在它可以工作了.

但由于脚本的内存峰值小于2M ....

那么memory_limit参数如何工作?

它是脚本使用的总内存吗?如果是这样,我该如何计算呢?

它是脚本的内存峰值吗?如果是的话,我算得对吗?

我正在使用php 5.3.16.

编辑

我没有任何错误消息.当限制为128M时脚本执行,但永远不会完成.

php memory memory-limit

9
推荐指数
1
解决办法
1161
查看次数

在编译php时,enable-inline-optimization会做什么

编译PHP时,--enable-inline-optimization选项究竟是什么?

为什么人们会使用它?

有哪些优点和缺点?

php optimization compilation

7
推荐指数
1
解决办法
2347
查看次数

将特殊字符(如'\ t')转换为"\ t"(实际制表符)

我想在我的网站上创建一个CSV文件导入程序.我希望用户选择分隔符.

问题是当表单提交时,分隔符字段存储为'\ t',例如,因此当我解析文件时,我搜索字符串'\ t'而不是真正的TAB.它对每个特殊字符都有同样的作用,比如\ r,\n等...

我想知道用于将这些字符转换为真实表示的方式或函数,而不使用如下数组:

  • 't'=>"\ t"
  • 'r'=>"\ r"
  • ...

php csv special-characters

6
推荐指数
1
解决办法
5279
查看次数

PHP PEAR send_mail无法使用姓名和电子邮件设置发件人

我正在尝试使用此脚本发送电子邮件

$to = 'example@example.com';
$headers['To'] = $to;
$headers['From'] = '"My Name" <examlpe@example.com>';
$headers['Return-Path'] = 'examlpe@example.com';
$headers['Subject'] = 'Subject';

$auth = array('host' => MAIL_HOST, 'auth' => true, 'username' => MAIL_USER, 'password' => MAIL_PASS);
$smtp = Mail::factory('smtp', $auth);
$mail = $smtp->send($to, $headers, $message);

if (PEAR::isError($mail))
    echo('<p>PEAR mail: '.$mail->getMessage().'</p>');
else
    echo('<p>PEAR mail: Message successfully sent!</p>');
Run Code Online (Sandbox Code Playgroud)

但我收到以下消息:

Failed to set sender: "My Name" <example@example.com> [SMTP: Invalid response code received from server (code: 501, response: <"My Name" <example@example.com>>: "@" or "." expected after ""My Name"")] …
Run Code Online (Sandbox Code Playgroud)

php email pear sendmail

3
推荐指数
1
解决办法
5483
查看次数

纯 MySQL 循环更新多行

我想根据 SELECT sql 查询更新多行。

我想在 SQL Shell 中完成所有操作!

这是我的选择:

SELECT @myid := id, @mytitle := title
FROM event 
WHERE pid>0 GROUP BY title
ORDER BY start;
Run Code Online (Sandbox Code Playgroud)

然后,我想用这个伪代码做一个更新:

foreach($mytitle as $t)
BEGIN
    UPDATE event
    SET pid=$myid
    WHERE title=$t;
END
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在 SQL 中进行循环。

也许有一种方法可以在单个 sql 查询中实现?

我不想要任何 PHP !!!只有 SQL 外壳代码!!!

mysql sql

1
推荐指数
1
解决办法
7277
查看次数

MySQL - 在视图中插入/更新/删除

我有一个英文和法文网站.

因此,在我的数据库中,我的表中包含名为"name_english"和"name_french"的列以及其他一些数字列.

我想创建2个视图,或类似的东西,它将包含"name"列和我表的所有其他列.

视图"table_english"将列"name_english"作为"name",视图"table_french"将列"name_french"作为"name".

这对于选择的视图工作正常,但我还想在将更新表的视图上进行一些插入/更新/删除.

例:

table:
id | name_english | name_french | int1 | int2 | int3

table_english (a view):
id | name | int1 | int2 | int3 (name here is name_english)

table_french (a view):
id | name | int1 | int2 | int3 (name here is name_french)
Run Code Online (Sandbox Code Playgroud)

然后我想做一些像这样的查询:

INSERT INTO table_english(id, name, int1, int2, int3) VALUES (1, 'name', 12, 14, 2);
UPDATE table_english set name='new name' WHERE id=1;
Run Code Online (Sandbox Code Playgroud)

这些将在表格中插入/更新,并带有相应的字段.

所以最后,"表"的内容将是:

1 | 'new name' | DEFAULT VALUE …
Run Code Online (Sandbox Code Playgroud)

mysql alias views view

-1
推荐指数
1
解决办法
1万
查看次数