首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP sql SELECT from database正在工作,但是sql INSERT INSERT not不工作,尽管显示了成功消息

PHP sql SELECT from database正在工作,但是sql INSERT INSERT not不工作,尽管显示了成功消息
EN

Stack Overflow用户
提问于 2019-06-06 06:51:51
回答 1查看 121关注 0票数 -1

我正在尝试一些新的东西,同时练习PHP。我已经检查了StackOverflow上之前的所有帖子,都找不到解决方案。我正在尝试使用PHP和PhpMyAdmin向数据库中插入一些数据。现在我面临的问题是,如果我手动输入数据,数据库中的数据可以显示(选择)。当我尝试使用PHP将数据动态插入数据库时,示例如下:

代码语言:javascript
复制
$sql = "INSERT INTO apps (appName, appDescription, appLinkFacebook, appLinkInstagram, appLinkPlaystore, appLinkWeb,appGoogleGamesIcon, appFullImageNameBackground, appFullImageNameIcon) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);";

我没有收到任何错误,而且我还收到了一条成功消息,该消息应该在INSERT命令完成后显示。我尝试插入的图像也成功地创建在指定的文件夹中,并且它们的名称也以正确的方式显示。我已经检查了表单中所有输入字段的名称,所有的链接和拼写似乎都找不到问题所在。我还尝试在本地主机和远程服务器上使用数据库时使用INSERT命令,但仍然没有结果。如果有人知道该怎么做,请告诉我。谢谢

下面是我的upload.php文件的完整源代码。

代码语言:javascript
复制
    <?php
    if (isset($_POST['btnUpload'])) {
    $newFileNameCardBackground = $_POST['imgNameCardBackground'];
    if (empty($newFileNameCardBackground)) {
        $newFileNameCardBackground = "card_background";
    } else {
        $newFileNameCardBackground = strtolower(str_replace(" ", "-", $newFileNameCardBackground));
    }

    $newFileNameCardIcon = $_POST['imgNameCardIcon'];
    if (empty($newFileNameCardIcon)) {
        $newFileNameCardIcon = "card_icon";
    } else {
        $newFileNameCardIcon = strtolower(str_replace(" ", "-", $newFileNameCardIcon));
    }

    $appName = $_POST['appName'];
    $appDescription = $_POST['appDescription'];

    $appLinkFacebook = $_POST['appLinkFacebook'];
    $appLinkInstagram = $_POST['appLinkInstagram'];
    $appLinkPlaystore = $_POST['appLinkPlaystore'];
    $appLinkWeb = $_POST['appLinkWeb'];

    $appGoogleGamesIcon = $_POST['appGoogleGamesIcon'];

    $fileCardBackground = $_FILES['fileCardBackground'];
    $fileNameCardBackground = $fileCardBackground["name"];
    $fileTypeCardBackground = $fileCardBackground["type"];
    $fileTempNameCardBackground = $fileCardBackground["tmp_name"];
    $fileErrorCardBackground = $fileCardBackground["error"];
    $fileSizeCardBackground = $fileCardBackground["size"];
    $fileCardBackgroundExtension = explode(".", $fileNameCardBackground);
    $fileCardBackgroundActualExtension = strtolower(end($fileCardBackgroundExtension));

    $fileCardIcon = $_FILES['fileCardIcon'];
    $fileNameCardIcon = $fileCardIcon["name"];
    $fileTypeCardIcon = $fileCardIcon["type"];
    $fileTempNameCardIcon = $fileCardIcon["tmp_name"];
    $fileErrorCardIcon = $fileCardIcon["error"];
    $fileSizeCardIcon = $fileCardIcon["size"];
    $fileCardIconExtension = explode(".", $fileNameCardIcon);
    $fileCardIconActualExtension = strtolower(end($fileCardIconExtension));

    $allowed = array("jpeg", "jpg", "png", "JPEG", "JPG", "PNG");

    if (in_array($fileCardBackgroundActualExtension, $allowed) && in_array($fileCardIconActualExtension, $allowed)) {
        if ($fileErrorCardBackground === 0 && $fileErrorCardIcon === 0) {

            $imageFullNameCardBackground = $newFileNameCardBackground . "." . uniqid("", true) . "." . $fileCardBackgroundActualExtension;
            $fileDestinationCardBackground = "../../img/card_background/" . $imageFullNameCardBackground;

            $imageFullNameCardIcon = $newFileNameCardIcon . "." . uniqid("", true) . "." . $fileCardIconActualExtension;
            $fileDestinationCardIcon = "../../img/card_logo/" . $imageFullNameCardIcon;

            include 'connection.php';

            if (empty($appName) && empty($appDescription) && empty($appGoogleGamesIcon)) {
                header("Location: ../../admin/admin-main.php?upload=SelectedFields-MUST-NOT-BeEmpty");
                exit();
            } else {
                $sql = "SELECT * FROM apps;";
                $statement = mysqli_stmt_init($conn);
                if (!mysqli_stmt_prepare($statement, $sql)) {
                    echo "SQL statment failed";
                } else {
                    mysqli_stmt_execute($statement);
                    $result = mysqli_stmt_get_result($statement);
                    $rowCount = mysqli_num_rows($result);

                    $sql = "INSERT INTO apps (appName, appDescription, appLinkFacebook, appLinkInstagram, appLinkPlaystore, appLinkWeb,
                        appGoogleGamesIcon, appFullImageNameBackground, appFullImageNameIcon) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);";

                    if (!mysqli_stmt_prepare($statement, $sql)) {
                        echo "SQL statment failed";
                    } else {
                        mysqli_stmt_bind_param(
                            $statement,
                            "sssssssss",
                            $appName,
                            $appDescription,
                            $appLinkFacebook,
                            $appLinkInstagram,
                            $appLinkPlaystore,
                            $appLinkWeb,
                            $appGoogleGamesIcon,
                            $appFullImageNameBackground,
                            $appFullImageNameIcon
                        );
                        mysqli_stmt_execute($statement);

                        move_uploaded_file($fileTempNameCardBackground, $fileDestinationCardBackground);
                        move_uploaded_file($fileTempNameCardIcon, $fileDestinationCardIcon);

                        header("Location: ../../admin/admin-main.php?upload=success");
                    }
                }
            }
        } else {
            echo "You have an error";
            exit();
        }
    } else {
        echo "Yopu need to upload a proper file type";
        exit();
    }
}

综上所述,当我手动输入数据时,sql SELECT正在工作,图像应该在正确的名称下,并且没有错误。

谢谢:D

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-06 07:38:36

通过在我的sql语句上使用此命令发现了问题。现在一切都正常了。谢谢你的帮助。

代码语言:javascript
复制
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56469015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档