2017-01-30 22 views
1

私は(MySQLの中で)いくつかのテーブルを作成します。PHP、MySQLの入力データ

create table clients 
(clientid int unsigned not null auto_increment primary key, 
    Name char(50) not null, 
    SecondName char(50) not null, 
    address char(100) not null, 
    City char(30) not null 
    Email char(100); 

私は入力件のデータ(名前、SecondName、住所、市、電子メール)にしたい私のデータベースNewClientBaseにWebページから顧客によって充填することにより、

<html> 
<?php  
... 
    // short names initialization. Taken from filling external form 
    $Name=$_POST['Name'];  
    $SecondName=$_POST['SecondName'];  
    $Address=$_POST['Address'];  
    $City=$_POST['City'];  
    $Email=$_POST['Email'];  
$clientid=0;  

    if (!$Name || !$SecondName || !$Address || !$City || !$Email) {  
    echo "Not all data completed.<br />" 
      ."Return and try again"; 
    exit; 
    }  

    if (!get_magic_quotes_gpc()) {  
    $Name = addslashes($Name);  
    $SecondName = addslashes($SecondName);  
    $Address = addslashes($Address);  
    $City = addslashes($City);  
    $Email = doubleval($Email);  
    }  
    @ $db = new mysqli('localhost', 'root', '********', 'NewClientBase');  

$wynik_sprawdzania= mysqli_query($db, $sprawdzanie);  
$ile_znalezionych=$wynik_sprawdzania->fetch_row();  
$ilosc_pol=$wynik_sprawdzania->field_count;  
.....  
     // a new record with the next number is calculated: 

    $clientid=$wynik_sprawdzania->fetch_row()+1;  
....  
and created a new record with this number:   
$zapytanie = "insert into clients values  ('".$clientid."','".$Name."','".$SecondName."', '".$Address."','".$City."',  '".$Email."')";  
    $wynik = $db->query($zapytanie);  
.....  
$db->close();  
?>  
</html>  

問題は次のとおりです:
(例えば)第五レコードは次のようにデータベースに生成され、入力された場合

01彼の個人データが、そのclientidは、プログラムによって生成されなければなりません

すべてのレコードがデータベースに正しく挿入されます。それはこの

$zapytanie = "insert into clients values  
('".$clientid."','".$Name."','".$SecondName."', '".$Address."','".$City."',  '".$Email."')";  
    $wynik = $db->query($zapytanie);  

(上図のように$のClientIDはありません5がprogramly計算される)レコードのように挿入されている場合
が、作成されません。 .clientid。 "'も'。$ clientid 'もありません。誰か助けてくれますか?どんな解決策も存在しますか?ありがとう

答えて

0

ClientIdは文字列ではなくIntとして定義されています。あなたは文字列を入力しようとします。 $ clientidの一重引用符を削除します。

$zapytanie = "insert into clients values  
(".$clientid.",'".$Name."','".$SecondName."', '".$Address."','".$City."',  '".$Email."')";  
    $wynik = $db->query($zapytanie); 
+0

[OK]を助け、およびソリューションは何ですか? – adrian

+0

解決策は私が上に書いたソースラインです。変数を囲む一重引用符は、文字列挿入を行います。 Wirhoutそれは数字です。 –

0

変数$ clientidは整数とみなし、引用符を追加しないでください。

$zapytanie = "insert into clients values  
(".$clientid.",'".$Name."','".$SecondName."', '".$Address."','".$City."',  '".$Email."')";  
    $wynik = $db->query($zapytanie); 

希望これは

+0

それは動作します。 Thantksたくさんの男! – adrian

+0

Hy!すべてが機能しますが、奇妙な方法で。これは私のプログラムです: – adrian

関連する問題