我正在尝试制作PHP CLI CRUD应用程序。我具有将Item添加到mysql数据库的工作功能,但是在访问数据以对其进行更新时遇到问题。
switch ($argv[1]) {
case 'addCompany':
fwrite(STDOUT, "Enter company id" . "\n");
$id = trim(fgets(STDIN));
fwrite(STDOUT, "Enter company name" . "\n");
$name = trim(fgets(STDIN));
fwrite(STDOUT, "Please enter your code:" . "\n");
$code = trim(fgets(STDIN));
fwrite(STDOUT, "Please enter your email:" . "\n");
$email = trim(fgets(STDIN));
fwrite(STDOUT, "Please enter your phone:" . "\n");
$phone = trim(fgets(STDIN));
fwrite(STDOUT, "Please enter your comment:" . "\n");
$comment = trim(fgets(STDIN));
addCompany($id, $name, $code, $email, $phone, $comment);
break;
case 'editCompany':
if (!array_key_exists(2, $argv)) {
fwrite(STDOUT, "Please specify company id." . "\n");
return;
} else {
fwrite(STDOUT, "Update company id" . "\n");
$edit_id = trim(fgets(STDIN));
fwrite(STDOUT, "Update company name" . "\n");
$edit_name = trim(fgets(STDIN));
fwrite(STDOUT, "Update Company email:" . "\n");
$edit_email = trim(fgets(STDIN));
fwrite(STDOUT, "Please update your phone:" . "\n");
$edit_phone = trim(fgets(STDIN));
fwrite(STDOUT, "Please update your comment:" . "\n");
$edit_comment = trim(fgets(STDIN));
editCompany($edit_id, $edit_name, $edit_email, $edit_phone, $edit_comment);
}
break;
case 'deleteCompany':
if (!array_key_exists(2, $argv)) {
fwrite(STDOUT, "Please specify company code." . "\n");
return;
} else {
}
break;
default:
fwrite(STDOUT, "Command not supported!" . "\n");
writeAvailableCommands();
}
这是我的函数调用editCompany:
function editCompany($edit_id, $edit_name, $edit_email, $edit_phone, $edit_comment)
{
//establish database connection
$servername = "server";
$username = "root";
$password = "pass";
try {
$conn = new PDO("mysql:host=$servername;dbname=database", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully" . "\n";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
$sql = "UPDATE table_name SET code='$edit_id', name='$edit_name', email='$edit_email', phone='$edit_phone', comment='$edit_comment' WHERE code='$code'";
$result = $conn->query($sql);
if ($result) {
echo "Company Information Updated Sucessfully" . "\n";
}
}
截至目前,仅当我插入确切ID或任何其他表信息时,我才能更新信息。但我想将此信息存储为变量。
谢谢!