[英]php won't insert into mysql. no errors
我创建了 php 和 mysql 数据库和表。 这是我的代码:
<form action="proba.php" method="post" /> <p> ime: <input type="text" name="ime" /></p> <p> prezime: <input type="text" name="prezime" /></p> <p> datum rodjenja: <input type="text" name="godiste" /></p> <p> jmbg: <input type="text" name="jmbg" /></p> <p> adresa: <input type="text" name="adresa" /></p> <p> email: <input type="text" name="email" /></p> <p> telefon: <input type="text" name="telefon" /></p> <p> datum: <input type="text" name="datum" /></p> <input type="submit" value="insert" /> </form>
这是我与 mysql 连接的代码
<?php $link = mysqli_connect("127.0.0.1", "root", "1511", "test"); if (!$link) { echo "Error: Unable to connect to MySQL." . PHP_EOL; echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; $db_selected = mysql_select_db ('test', $link); if (!$db_selected) { die('nedostupno ' . test . ' : ' . mysql_error ()); } $values = $_POST['ime']; $values2 = $_POST['prezime']; $values3 = $_POST['godiste']; $values4 = $_POST['jmbg']; $values5 = $_POST['adresa']; $values6 = $_POST['email']; $values7 = $_POST['telefon']; $values8 = $_POST['datum']; $sql = "INSERT INTO users (ime, prezime, godiste, jmbg, adresa, emal, telefon, datum) VALUES ('values', 'values2', 'values3', 'values4', 'values5', 'values6', 'values7', 'values8')"; } echo 'Connected successfully'; ?>
这是mysql:
您犯了一些错误,因此查询可能没有将数据插入到 phpmyadmin 数据库中。 您犯的基本错误是在插入查询中没有连接您想要在VALUES
部分中的VALUES
,插入语句的语法将是这样的。
插入语法:
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...)
注意:如果某列是AUTO_INCREMENT(如“id”列)或TIMESTAMP(如“reg_date”列),则无需在SQL查询中指定; MySQL 会自动添加该值。
因此,基本形式将与您在问题中显示的相同。 我在提交按钮上单独添加了一个名称并重新修改了它。
HTML 表格:
<form action="proba.php" method="post" />
<p> ime: <input type="text" name="ime" /></p>
<p> prezime: <input type="text" name="prezime" /></p>
<p> datum rodjenja: <input type="text" name="godiste" /></p>
<p> jmbg: <input type="text" name="jmbg" /></p>
<p> adresa: <input type="text" name="adresa" /></p>
<p> email: <input type="text" name="email" /></p>
<p> telefon: <input type="text" name="telefon" /></p>
<p> datum: <input type="text" name="datum" /></p>
<input type="submit" name="save" value="insert" />
</form>
你的proba.php
看起来就像我在下面编码的那样。
<?php
//Database connection Part of Mysqli
$host="localhost";
$user="root";
$password="1511";
$db="test";
$conn=new mysqli($host,$user,$pass,$db);
// Print Error if the connection is failed.
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Print Error if the DB is not selected.
if (!mysqli_select_db($conn, $db)) {
die("Uh oh, couldn't select database --> $db" . $conn->connect_error . ' >');
}
if(isset($_POST['save']))
{
$values = $_POST['ime'];
$values2 = $_POST['prezime'];
$values3 = $_POST['godiste'];
$values4 = $_POST['jmbg'];
$values5 = $_POST['adresa'];
$values6 = $_POST['email'];
$values7 = $_POST['telefon'];
$values8 = $_POST['datum'];
$sql = "INSERT INTO users (`ime`, `prezime`, `godiste`, `jmbg`, `adresa`, `emal`, `telefon`, `datum`) VALUES ('".$values."', '".$values2."', '".$values3."', '".$values4."', '".$values5."', '".$values6."', '".$values7."', '".$values8."')";
$query = mysqli_query($conn,$sql);
echo 'Inserted successfully';
}
?>
注意:您首先将echo放入 Insert 语句,然后通过放入exit 来中断执行; 复制回显的语句,放到数据库的SQL中,然后检查插入是否有错误。 如果没有出现错误,删除echo并删除exit;
并且您正在成功插入数据。 希望所以我会对未插入数据库的数据给出明确的解释。
做这样的事情:
$values = $_POST['ime'];
$values2 = $_POST['prezime'];
$values3 = $_POST['godiste'];
$values4 = $_POST['jmbg'];
$values5 = $_POST['adresa'];
$values6 = $_POST['email'];
$values7 = $_POST['telefon'];
$values8 = $_POST['datum'];
$sql = "INSERT INTO users (ime, prezime, godiste, jmbg, adresa, emal, telefon, datum) VALUES ('".$values."', '".$values2."', '".$values3."', '".$values4."', '".$values5."', '".$values6."', '".$values7."', '".$values8."')";
mysqli_query($link,$sql);
从第一个错误开始。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.