我是php和mysql的新手,在尝试将数据插入mysql表时似乎遇到了问题。
我有一个insert.php页面,其中包含以下内容
<?php
$db_host = 'hostname';
$db_user = 'username';
$db_pass = 'password';
$db_name = 'databasename';
if (!empty($_POST))
{
$con = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if ($con->connect_error)
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
$sql = "INSERT INTO train2015 (emp_num, name, supervisor) VALUES (?,?,?)";
if (!$stmt = $con->prepare($sql))
die('Query failed: (' . $con->errno . ') ' . $con->error);
if (!$stmt->bind_param('ssi',$_POST['emp_num'],$_POST['name'],$_POST['supervisor']))
die('Bind Param failed: (' . $con->errno . ') ' . $con->error);
if (!$stmt->execute())
die('Insert Error ' . $con->error);
echo "Record added";
$stmt->close();
$con->close();
}
?>
然后我有add.php页面
<?php
include('includes/insert.php');
?>
<html>
<body>
<form action="includes/insert.php" method="post">
Employee Number : <input type="text", name="emp_num"> </br>
Full Name : <input type="test" name="name"> </br>
Supervisor Name : <input type="text" name="supervisor"></br>
<input type="submit">
</form>
</body>
</html>
一切似乎工作正常,我点击提交按钮,我看到记录添加,去检查表,我看到emp_num很好,名称字段很好,但主管总是有一个0。我似乎错过了一些东西。
提前感谢您的帮助。
答案 0 :(得分:3)
根据要求:
主管最有可能是一个字符串,sss
加上type="text",
中的逗号除去它。
如果列类型为int
或varchar
,您还需要检查列的类型。
字符串为varchar
。检查长度。