为我的数据库 MySQL 中的每一行调用 PHP 脚本


call a php script for every row in my database mysql

如果

这是一个愚蠢的问题,我很抱歉,但我现在不知道如何为表中的每一行调用 php 脚本。我正在使用mysql。(我以后会用PDO,我知道它更好)。这是我的"选择"页面(我在其中选择所需的行):

<?php
include "util.php";
conn();
$SQL = "SELECT * FROM profiles where name='beatrice'"; //it's just an example
$result = mysql_query($SQL);
    while ($db_field = mysql_fetch_assoc($result)) {
                        $id= $db_field['id'] ;
                        $nome= strtolower($db_field['name']);
                        $cognome= strtolower($db_field['surname']);
                        $filenome= strtolower($db_field['filename']);
                        $cf= $db_field['cf'];
                        $dir1 = mb_substr($cf, 0, 8);
                        $dir=$id.$dir1;
                        mkdir('test/doc/'.$dir, 0777, TRUE);
                        mkdir('test/doc/'.$dir.'/foto', 0777, TRUE);
                        mkdir('test/doc/'.$dir.'/thumbnails', 0777, TRUE);
                        header('Location:renamer.php?dir='.$dir.'&nome='.$nome.'&filenome='.$filenome.'&id='.$id);
    }
    ?>

标题位置不起作用,所以我正在寻找另一种方法来做到这一点。

您可以使用 CURL 调用。

或者只是调用一个函数来在循环中做你想做的事情。

因此,只需创建一个函数(从 renamer.php 中的功能),它将 URL 参数作为参数,然后就可以了!

如果你真的需要在后台查看 - http://php.net/manual/en/function.pcntl-fork.php - 这将启动一个新的PHP进程来执行某些东西,如果你沿着这条路走下去,它会变得复杂,你的任务将需要以某种方式报告,以便你知道什么已经/没有完成:)

使用 mysql_fetch_array() 在数组中获取结果,然后 array_walk() 为每一行执行一个函数怎么样?

http://php.net/manual/en/function.mysql-fetch-array.php

http://ca.php.net/manual/en/function.array-walk.php