将php数据添加到命令行提示符

时间:2011-08-22 19:58:15

标签: php mysql cmd

服务器上的PHP应用程序将带有序号的某个文档保存到MySQL数据库中。如何将序列号获取到启动本地文档扫描程序的命令行提示符?

例如:

c:\ myscan ask_for_current_seq_nmbr.pdf

myscan是用c编写的,用来处理PC的东西。只有文件名是未知的。

一些代码(来自查询PHP文件)

$query = "SELECT last_seq FROM seq_table WHERE cat = 1";

$result = mysql_query($query, $link) or die('ERROR: '. mysql_error().'<br />ON LINE: '.__LINE__);

while($row = mysql_fetch_assoc($result)) {
    echo $row['last_seq'];
}

!!!注意 !!! 我从远程服务器获取页面。恩。 www.site.com/query.php?q=SELECT * FROM ... 并且该选择将导致我在命令提示符中使用的最后一个使用的序列号。

!!更新!!

我们必须通过远程服务器上的PHP文件来避免使用必须在IP基础上启用的Remoote MySQL。

3 个答案:

答案 0 :(得分:1)

您可以使用来自exec familyDocs的PHP中的各种函数调用在命令行上运行的进程。

如果您在构建实际命令字符串时遇到问题,可以执行以下操作:

$cmd = sprintf('c:\myscan %d.pdf', $sequential_number);

正如您所写,脚本已经使用$sequential_number将其写入数据库中我假设您已经拥有它。

如果数据库生成数字,则可能作为主键。有关获取ID的信息,请参阅mysql_insert_idDocs

答案 1 :(得分:0)

好的判断是反斜杠和C:\我猜你正在使用Windows。

您必须结合以下内容:

http://dev.mysql.com/doc/refman/5.5/en/mysql.html

How to store the result of a command expression in a variable using bat scripts?

然后使用%VARIABLE_NAME%语法访问您创建的变量的内容。

答案 2 :(得分:0)

你的mysql表中应该有一个标志,如is_processed,其值为0或1。 扫描开始时,它运行查询:

SELECT * FROM TABLE where is_processed = 0 order by sec_number

处理完毕后,您应该运行查询:

UPDATE TABLE set is_processed = 1 where sec_number = 'sec_processed_number';