-1

我想将值插入到我的数据库中。我在免费的网络服务器上有 phpMyAdmin 数据库。这是代码:

$con = mysqli_connect("hostname", "user", "password", "databasename");
    $name = $_POST["name"];
    $username = $_POST["username"];
    $password = $_POST["password"];
    $email = $_POST["email"];
    $phonenumber = $_POST["phonenumber"];

    $statement = mysqli_prepare($con, "INSERT INTO User (name, username, password, email, phonenumber) 
                                        VALUES (?, ?, ?, ?, ?)"); 
    mysqli_stmt_bind_param($statement, "sss", $name, $username, $password, $email, $phonenumber);
    mysqli_stmt_execute($statement);
    mysqli_stmt_close($statement);
    mysqli_close($con);

问题是如何在 phpMyAdmin 中插入诸如“... VALUES ('Caroline', 'CC'...") 之类的值;并且它起作用了,我可以使用上面的代码插入“... VALUES ( '?', '?', '?'..."); 但它插入?进入每一列。

这是带有以下内容的表格Values( '$name', '? ', '?'..)

在此处输入图像描述

那么如何插入 $name 和 ' ' 并绑定参数呢?如果我将 bind_param 中的 $name 更改为 '$name' 它仍然不起作用。但是,如果我更改 VALUES('$name') 那么它将正确的值插入到表中。

4

1 回答 1

2

如前所述,您s的绑定中有 3x ,但有 5x?占位符。

您似乎也想直接在 phpmyadmin 中执行此操作;这不是它的工作原理。这些占位符/绑定仅通过您的网站/本地计算机从 Web 浏览器执行/填充,并以http://localhost|yourhost/file.php

它需要从服务器和安装了 PHP/MySQL 的环境中执行。

另外,确保您的表格在完成此操作后不会让您失望;没有发布的东西。

在文件顶部添加错误报告,这将有助于发现错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:显示错误应该只在暂存中完成,而不是在生产中。

如果您的传入/现有数据存在任何类型的约束或冲突,您还应该检查查询中的错误。


密码

我还注意到您可能以纯文本形式存储密码。不建议这样做。

使用以下方法之一:

其他链接:

于 2015-12-09T20:08:15.587 回答