Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我无法从php插入mysql_Php_Mysql - Fatal编程技术网

我无法从php插入mysql

我无法从php插入mysql,php,mysql,Php,Mysql,这个问题的解决方案是什么?类型定义字符串中的元素数与绑定变量数不匹配 session_start(); $regValue1 = $_GET['un']; $regValue2 = $_GET['pass']; $regValue3 = $_GET['fn'] ; $regValue4 = $_GET['ln']; $regValue5 = $_GET['age'] ; $regValue6 = $_GET['sex']; $regValue7 = $_GET['em'] ;

这个问题的解决方案是什么?类型定义字符串中的元素数与绑定变量数不匹配
session_start();


$regValue1 = $_GET['un'];

$regValue2 = $_GET['pass'];

$regValue3 = $_GET['fn'] ;

$regValue4 = $_GET['ln'];

$regValue5 = $_GET['age'] ;

$regValue6 = $_GET['sex'];

$regValue7 = $_GET['em'] ;

echo "hello: ".$regValue3.".";


$servername = "localhost";
username = "root";
$password = "b4sonic";
$dbname = "blog";



$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$stmt = $conn->prepare("INSERT INTO register(un,pass,fn,ln,age,sex,email)           VALUES (?,?,?,?,?,?,?)");
bind_param("sss",$regValue1,
$regValue2,$regValue3,$regValue4,$regValue5,$regValue6,$regValue7);

$stmt->execute();


echo "New records created successfully";

$stmt->close();
$conn->close();
?>

我用php编写了这段代码,我正试图将数据插入mysql,但我面临这个问题:类型定义字符串中的元素数与绑定变量数不匹配

语句中的类型字符串中没有足够的类型说明符

session_start();


$regValue1 = $_GET['un'];

$regValue2 = $_GET['pass'];

$regValue3 = $_GET['fn'] ;

$regValue4 = $_GET['ln'];

$regValue5 = $_GET['age'] ;

$regValue6 = $_GET['sex'];

$regValue7 = $_GET['em'] ;

echo "hello: ".$regValue3.".";


$servername = "localhost";
username = "root";
$password = "b4sonic";
$dbname = "blog";



$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$stmt = $conn->prepare("INSERT INTO register(un,pass,fn,ln,age,sex,email)           VALUES (?,?,?,?,?,?,?)");
bind_param("sss",$regValue1,
$regValue2,$regValue3,$regValue4,$regValue5,$regValue6,$regValue7);

$stmt->execute();


echo "New records created successfully";

$stmt->close();
$conn->close();
?>
bind_param("sss",$regValue1,$regValue2,$regValue3,$regValue4,$regValue5,$regValue6,$regValue7);
表示您有类型“sss”,它只对应于您指定的7个变量中的3个。您需要为其余部分添加类型

session_start();


$regValue1 = $_GET['un'];

$regValue2 = $_GET['pass'];

$regValue3 = $_GET['fn'] ;

$regValue4 = $_GET['ln'];

$regValue5 = $_GET['age'] ;

$regValue6 = $_GET['sex'];

$regValue7 = $_GET['em'] ;

echo "hello: ".$regValue3.".";


$servername = "localhost";
username = "root";
$password = "b4sonic";
$dbname = "blog";



$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$stmt = $conn->prepare("INSERT INTO register(un,pass,fn,ln,age,sex,email)           VALUES (?,?,?,?,?,?,?)");
bind_param("sss",$regValue1,
$regValue2,$regValue3,$regValue4,$regValue5,$regValue6,$regValue7);

$stmt->execute();


echo "New records created successfully";

$stmt->close();
$conn->close();
?>
从:

var1

变量的数量和字符串类型的长度必须与语句中的参数匹配

session_start();


$regValue1 = $_GET['un'];

$regValue2 = $_GET['pass'];

$regValue3 = $_GET['fn'] ;

$regValue4 = $_GET['ln'];

$regValue5 = $_GET['age'] ;

$regValue6 = $_GET['sex'];

$regValue7 = $_GET['em'] ;

echo "hello: ".$regValue3.".";


$servername = "localhost";
username = "root";
$password = "b4sonic";
$dbname = "blog";



$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$stmt = $conn->prepare("INSERT INTO register(un,pass,fn,ln,age,sex,email)           VALUES (?,?,?,?,?,?,?)");
bind_param("sss",$regValue1,
$regValue2,$regValue3,$regValue4,$regValue5,$regValue6,$regValue7);

$stmt->execute();


echo "New records created successfully";

$stmt->close();
$conn->close();
?>

您使用的命令用于使用PDO连接到sql数据库,您使用的是mysqli。我在下面给出了一个使用mysqli的示例,它应该可以工作。另一个选项是将连接更改为PDO类型,而不是mysqli

<?php
session_start();


$regValue1 = $_GET['un'];

$regValue2 = $_GET['pass'];

$regValue3 = $_GET['fn'] ;

$regValue4 = $_GET['ln'];

$regValue5 = $_GET['age'] ;

$regValue6 = $_GET['sex'];

$regValue7 = $_GET['em'] ;

echo "hello: ".$regValue3.".";


$servername = "localhost";
$username = "root";
$password = "b4sonic";
$dbname = "blog";



$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO register(un,pass,fn,ln,age,sex,email)".
        "VALUES (`$regValue1`,`$regValue2`,`$regValue3`,`$regValue4`,`$regValue5`,`$regValue6`,`$regValue7`)";
$conn->query($sql);

echo $conn->affected_rows. " new records created successfully";

$conn->close();
?>


对不起,我忘记了$stmt->bind_param(“sss”、$regValue1、$regValue2、$regValue3、$regValue4、$regValue5、$regValue6、$regValue7);检查不同的插入列字段以及“插入寄存器(un、pass、fn、ln、年龄、性别、电子邮件)”末尾缺少的put end quotes,以及您有多少个
s
?这是我首先想到的。$stmt->bind_param(“SSSSSSSSS”、$regValue1、$regValue2、$regValue3、$regValue4、$regValue5、$regValue6、$regValue7);