0

私のPHPスクリプトは次のとおりです。

<?php

require_once('connectvars.php');

$file = $_FILES['image']['name'];
$target = GW_UPLOADPATH . $file;

if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
    $dbc = mysqli_connect(DB_HOST, DB_UN, DB_PW, DB_NAME) or die('Error connecting to the MySQL server');

    $title = mysqli_real_escape_string($dbc, trim($_POST['title']));
    $description = mysqli_real_escape_string($dbc, trim($_POST['content']));
    $host = mysqli_real_escape_string($dbc, trim($_POST['host']));
    $duration = mysqli_real_escape_string($dbc, trim($_POST['duration']));
    $sn1 = mysqli_real_escape_string($dbc, trim($_POST['link1']));
    $sn2 = mysqli_real_escape_string($dbc, trim($_POST['link2']));
    $sn3 = mysqli_real_escape_string($dbc, trim($_POST['link3']));
    $sn4 = mysqli_real_escape_string($dbc, trim($_POST['link4']));
    $sn5 = mysqli_real_escape_string($dbc, trim($_POST['link5']));

    $query = "INSERT INTO dyhamb (title, description, host, duration, file, sn1, sn2, sn3, sn4, sn5 ) VALUES ('$title', '$description', '$host', '$duration', '$file', '$sn1', '$sn2', '$sn3', '$sn4', '$sn5')";
    $result = mysqli_query($dbc, $query);

    if (!$result) {
        echo 'failed';
    } else {
        echo 'success';
    }

    mysqli_close($dbc);
}
?>

スクリプトを実行すると、「失敗しました」が返され、その理由がわかりません。との両方が問題ないよう$dbc$query見えるため、$result定義されていない理由がわかりません。

4

2 に答える 2

3
if ($result === FALSE) {
    echo mysqli_error($dbc);
} else {
    echo mysqli_affected_rows($dbc);
}

また

$ mysql -u root -pmyPassWord DB_NAME

> dynamb からタイトルを選択します。

何かが実際にデータベースに入っていることを確認します。

于 2012-04-28T14:38:42.330 に答える
2

or die(mysqli_error());クエリの後に追加してみてください:

$result = mysqli_query($dbc, $query) or die(mysqli_error());

これにより、クエリの問題点の手がかりが得られる場合があります。

于 2012-04-28T14:34:50.867 に答える