我正在创建一个脚本,该脚本将查询旧数据库并从中提取信息,然后将其推送到新数据库(具有新结构)。

我的问题是旧数据库中的表之一具有text类型的列。当我拉出此文本(有效)并尝试将其推到新数据库(具有类型为mediumtext的列)时,查询将失败。

显然查询有一些错误,但是由于某种原因,我的页面没有输出任何错误。

这个问题更多的是关于我在做什么错与如何将错误输出到页面上,但是不管怎样,有人可以帮我吗?谢谢!

PHP:

$grad5app = mysqli_query($grad5app_connect, "SELECT * FROM international");
while ($row = mysqli_fetch_array($grad5app)) {
    $applicationId = $row[0];
    $toefl_hasTaken = $row[27];
    $toefl_hasReported = $row[28];
    $toefl_date = $row[2];
    $toefl_score = $row[3];
    $hasUSCareer = $row[4];
    $usCareerDetails = $row[5];
    $hasFurtherStudies = $row[29];
    $furtherStudiesDetails = $row[6];
    $hasHomeCareer = $row[30];
    $homeCareerDetails = $row[7];
    $financeDetails = $row[8];
    $usFriendsOrRelatives = $row[9];
    $usEmergencyContact_name = $row[10];
    $usEmergencyContact_relationship = $row[17];
    //$usEmergencyContact_contactInformationId = $row[];
    $homeEmergencyContact_name = $row[18];
    $homeEmergencyContact_relationship = $row[26];
    //$homeEmergencyContact_contactInformationId = $row[];

    echo $usCareerDetails;

    $grad5app1 = mysqli_query($grad5app_connect, "SELECT * FROM applicants WHERE applicant_id = ".$applicationId." ");
    while ($row1 = mysqli_fetch_array($grad5app1)) {
        $isInternationalStudent = $row1[132];

        mysqli_query($gradschool_application_2_connect, "INSERT INTO APPLICATION_International (applicationId, isInternationalStudent, toefl_hasTaken, toefl_hasReported, toefl_date, toefl_score, hasUSCareer, usCareerDetails".
        ") VALUES (".$applicationId.", ".$isInternationalStudent.", ".$toefl_hasTaken.", ".$toefl_hasReported.", '".$toefl_date."', ".$toefl_score.", ".$hasUSCareer.", '".$usCareerDetails."')");
    }
}


变量$usCareerDetailstext类型的变量,需要将其推送到mediumtext类型的列。该查询不起作用,但是,如果我从查询中删除了usCareerDetails,那么它将成功推送数据。

页面输出:

I'm gonna work in the USA for 2 years.

输出是从旧数据库中提取的echo $usCareerDetails;

最佳答案

问题不在于查询,而在于数据。 '中的I'm正在破坏您的查询。使用prepared statements,就可以了。

09-26 07:38