PHP 更新数据库失败

标签 php mysql

这是我第一次使用 php,在搜索我的问题 2 小时后,我得出的结论是我无法找到并修复它。

希望大家帮帮我!

 <?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 ="asdas@aasd.com";
$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

最佳答案

错误表明您正在传递一个array,但需要一个string。您的 $temp 是一个数组,因为它与 $_POST 相同。因此,如果您确定要将 $temp 传递到那里,则必须像这样更改:

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

但我看到您也有所有变量,因此您可以像这样在 VALUES 中一一传递:

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

我的建议是只使用英文字符,以便将 $straße 更改为其他字符

关于PHP 更新数据库失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39414240/

相关文章:

php - 如何在创建 "new PDO"之前检查凭据是否正确或数据库是否存在

php - MySQL 表 - ID 字段中存在较大间隙

mysql - 更改搜索表单后的 div 样式

php - 手动将数据添加到MySQL查询数组

mysql - 如何连接到远程机器上的 docker mysql 容器

php - 将元素添加到数组的最后一个元素

javascript - php下拉列表有2个值,第二个值发布到隐藏字段

php - 在单独的行上使用 fseek() fread() 还是 fread() 整个文件和 substr 来解析更好?

javascript - 如何在子主题中覆盖联系表单7 js文件

php - MySQL PHP PDO 远程服务器