php - 接收用户输入以使用来自键盘的用户输入值运行 php 脚本

标签 php user-input

我有一个 php 脚本,我从 linux 的命令行运行(非交互式),它在 mysql 数据库中进行查找,并根据字段“SentOrNotSent”的值发送或不发送电子邮件。它工作正常,这个 php 脚本。

现在我想修改脚本,以便当它第一次运行时,它要求从键盘输入一个“ID”号,然后它进入 MySql 数据库并删除具有该 ID 的记录。我知道如何删除,我不知道如何让这个脚本请求输入,然后使用该值作为 mysql 更新语句的一部分来删除记录。

此脚本仅从命令行运行,并且位于只有管理员有权访问的目录中。

感谢您的帮助。

最佳答案

您可以通过 $argc(cli args 的计数)和 $argv(实际参数值的数组)来检查命令行参数。或者您可以提示输入并通过从标准输入 (STDIN) 读取来获取该输入。

给定一个命令行:

$ ./myscript 1234

myscript.php:
<?php
if (isset($argv[1])) {
   $myid = (int)$argv[1]; // use the command line argument for ID
} else {
   print("Enter an ID number: ");
   $myid = (int)fgets(STDIN); // prompt the user for an ID
}
... proceed with $myid = 1234 or whatever you entered.

关于php - 接收用户输入以使用来自键盘的用户输入值运行 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5774344/

相关文章:

php - Mockery:BadMethodCallException:此模拟对象上不存在方法 Mockery_0_Foo::bar()

php - 可靠地将包含 PHP 数组信息的字符串转换为数组

php - 在 SQL 查询中计算时间

python - 如何将用户输入存储到字典中? Python

java - 接受多个输入到数组中

java - 在同一行输入 String 和 int

php - 特殊条件下的preg_match_all子域

php - 建议实现此 "word stack"的另一种方法,它解决了我的方法是受害者的已知问题

c - 当输入的整数少于最大数量时,代码不会运行

java - 输入第二个单词