通过CLI更新列

时间:2019-06-01 21:37:34

标签: php mysql

我正在尝试制作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或任何其他表信息时,我才能更新信息。但我想将此信息存储为变量。

谢谢!

0 个答案:

没有答案