2016-09-09 3 views
1

phpで初めて作業していて、2時間後に私の問題を検索した結果、私はそれを見つけて修正するという結論に達しました。PHPデータベースの更新に失敗しました

私はあなたが私を助けることを願っています!

<?php 

require "./config/_sqlconnect.php"; 

$temp = $_POST; 
$vname = "Peter"; 
$nname = "Hans"; 
$straße ="XY"; 
$strnr ="8"; 
$plz = "9031"; 
$ort = "würzburg"; 
$land ="deutschland"; 
$tel ="1334134"; 
$email ="[email protected]"; 
$datum ="21.03.1942"; 
$anrede ="herr"; 

$connection = mysql_connect($dbhost, $dbuser, $dbpass, $dbname) or die 
("Verbindungsversuch fehlgeschlagen"); 

mysql_select_db($dbname, $connection) or die('DB FAIL'); 

$sql = "INSERT INTO tadresse (vname,nname,straße,strnr,plz,ort,land,tel,email,datum,anrede) VALUES($temp)"; 

$eintrag = "INSERT INTO tadresse (vname,nname,straße,strnr,plz,ort,land,tel,email,datum,anrede) VALUES ('$vname','$nname','$straße','$strnr','$plz','$ort','$land','$tel','$email','$datum','$anrede')"; 
    $eintragen = mysql_query($eintrag); 

    if($eintragen == true) 
     { 
      echo 'RICHTIG'; 
     } 
    else 
     { 
      echo 'FEHLER'; 
    }?> 

結果:エラーとして

Notice: Array to string conversion in C:\xampp\htdocs\aufgabe\text.php on line 23 
FEHLER 

答えて

0

あなたがarrayを渡している提案が、stringのが必要とされています。 $temp$_POSTと同じですので、配列です。だから、あなたはあなたがそこに$tempあなたは、このように変更する必要が渡したいことが確実な場合:

$sql = "INSERT INTO tadresse (vname,nname,straße,strnr,plz,ort,land,tel,email,datum,anrede) VALUES('" . implode("','", $temp) . "')"; 

をしかし、私はあなたがこのような値で、ここで一つ一つを渡すことができますので、あなたもまた、すべての変数を持っていることを確認し:

$sql = "INSERT INTO tadresse (vname,nname,straße,strnr,plz,ort,land,tel,email,datum,anrede) VALUES('$vname', '$nname', '$straße', ....)"; 

そして、私の提案はとても何か他

+0

おかげへ$straßeを変更するだけで、英語の文字を使用することです!それは、文字列変換への配列の私の問題を解決する! 私はまだ問題があります。それは私です。 $ eintragen = mysql_query($ eintrag); は正しくありません。私はそれを変更しようとしていました:) –

+1

また、 'mysql_query'は廃止予定ですので、何か他のものを使うべきです。 'PDO'や' mysqli_query'を使うことができます。 –

+0

また、ユーザーが指定したデータを有効/無効化せずに直接使用すると、見落としにくくなります。 – NaeiKinDus

関連する問題