0

これが繰り返しの質問でないことを願っています。私は役に立たない答えを見つけるためにいたるところを検索しました。

テーブルの行に挿入したい。簡単に思えますが、テーブルが空の場合は機能しません。理由がわかりません。テーブルに 1 つの行がある限り、正常に機能します。どんな助けでも大歓迎です。ありがとう。

私のコード:

<?php

$fname = $_POST['fname'];
$mi = $_POST['mi'];
$lname = $_POST['lname'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$add1 = $_POST['add1'];
$add2 = $_POST['add2'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];

$con = mysqli_connect("localhost","database_username","database_password","database"); 

$sql1 = "INSERT INTO employee (fname, mi, lname, phone, email, add1, add2, city, state, zip) VALUES ('$fname', '$mi', '$lname', '$phone', '$email', '$add1', '$add2', '$city', '$state', '$zip')";

mysqli_query($con,$sql1);

mysqli_close($con);

?>
4

5 に答える 5

0

考えられるすべてのことを何時間も試みた後、機能するようになりました...最終的に、最初に空のテーブルをチェックし、空の場合はテーブルを再作成しました。

これが機能する理由はわかりませんが、これは私のコードです...少しエレガントではありませんが、これ以上の解決策は見つかりませんでした。私は自分の価値観から逃れていないことを知っています。後でします。今のところ、何日も頭を悩ませてきたこの問題を解決したかっただけです。

<?php

$fname = $_POST['fname'];
$mi = $_POST['mi'];
$lname = $_POST['lname'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$add1 = $_POST['add1'];
$add2 = $_POST['add2'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];

$con = mysqli_connect("localhost","username","password","database"); 
if (!$con) {
        die('Could not connect: ' . mysql_error());
           }

$sql = 'CREATE TABLE employee'
     . ' ('
     . ' fname text,'
     . ' mi varchar(1),'
     . ' lname text,'
     . ' email varchar(100),'
     . ' phone varchar(15)'
     . ' add1 varchar(100),'
     . ' add2 varchar(100),'
     . ' city varchar(100),'
     . ' state varchar(25)'
     . ' zip varchar(10),'
     . ' );';

$sql1 = "INSERT INTO employee (fname, mi, lname, phone, email, add1, add2, city, state, zip,) VALUES ('$fname', '$mi', '$lname',  '$phone',  '$email','$add1', '$add2', '$city', '$state', '$zip')";

$sql2 = "SELECT * FROM employee";

$sql3 = mysqli_query($con,"SELECT count(*) FROM employee");

if ($sql3 == FALSE) {
    trigger_error(mysql_error()." in ".$sql3);
    exit();
}
else 
{
    $result = mysqli_fetch_array($sql3);
}

if($result[0] != 0)
{
    mysqli_query($con,$sql1);
}
else
{
    mysqli_query($con,$sql);
    mysqli_query($con,$sql1);
}

mysqli_close($con);

?>
于 2013-08-13T04:10:24.147 に答える
0

変数が文字列の場合は、クエリの foreach 変数に '".$fname."' を使用します

于 2013-08-13T04:16:01.290 に答える
0

次の実行を使用して行を挿入します

       mysqli_query($con,$sql1);

    musqli_execute($sql1);
于 2013-08-12T18:14:50.260 に答える