我试图在表中插入值,它说的是错误,请告诉我哪里错了,这是我的代码,它说的是请重试
<?php
include_once('dbconnect.php');
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$phone = $_POST['phone'];
$cash = $_POST['cash'];
if(mysql_query("INSERT INTO tbl2 VALUES('',$name','$phone','$cash','date('l jS \of F Y h:i:s A'))"))
echo "Successful Insertion!";
else
echo "Please try again";
}
$res = mysql_query("SELECT * FROM tbl2");
?>
<form action="" method="POST">
<input type="text" name="name"/><br />
<input type="text" name="phone"/><br />
<input type="text" name="cash"/><br />
<input type="submit" name="submit" value=" Enter "/>
</form>
<h1>List of companies ..</h1>
<?php
while( $row = mysql_fetch_array($res) )
echo "$row[id].$row[Name]
<a href='edit.php?edit=$row[id]'>edit</a><br />";
?>
你能指导我吗?我以为问题出在约会上
我能想到的两件事是:;
mysql
已被弃用,因此else
开始使用。尽管如此,还是要从头开始,用功能性和最新的代码从头开始。。。
鉴于您的连接正在正常工作,请将其更新为新的mysqli
语法,它非常简单,而且更加优雅:
$connect = new mysqli( 'localhost', 'USERNAME', 'PASSWORD', 'DATABASE' );
// check for an error
if ($this->_connection->connect_error)
{
trigger_error("Connection Error: " . $this->_connection->connect_error(), E_USER_ERROR);
}
现在您已经连接好了,请为您的代码遍历一个新流程。
首先,像当前一样检查submit
$\u POST
,以便开始运行脚本:
if ( isset( $_POST['submit'] ) )
{
// Encode the URL when creating the variables
$name = htmlentities( $_POST['name'] );
$phone = htmlentities( $_POST['phone'] );
$cash = htmlentities( $_POST['cash'] );
$date = date( 'l jS \of F Y h:i:s A' );
// create sql
// DO NOT INSERT VALUES STRAIGHT INTO YOUR QUERY
$sql = "INSERT INTO tbl2 ( name, phone, cash, date ) VALUES ( ?, ?, ?, ? )";
注意:在继续之前,让我解释一下,您永远不应该在查询中插入内容,因为这会将原始用户输入抛到代码的迷雾中。现在,大多数用户不会尝试任何可疑的东西。但是,任何人都可以轻松地在您的输入中抛出一些SQL命令,并删除
,选择
,以及更新
您的数据库内容,从而导致许多问题。
以下是一些参考资料:https://en.wikipedia.org/wiki/SQL_injection
要解决这个问题,请使用准备好的语句。您可以在PHP手册上阅读所有关于它的内容;还可以看到一些现实生活中的例子。
// prepare query
// USE PREPARED STATEMENTS
if ($stmt = $connect->prepare( $sql ))
{
// bind the params
$stmt->bind_param('ssss', $name, $phone, $cash, $date);
// execute the query
$stmt->execute();
// check for errors
if ($stmt->errno)
{
$message = array(
'is_error' => 'danger',
'message' => 'Error: ' . $stmt->error
);
}
// make sure at least 1 or more rows were affected
if ($stmt->affected_rows > 0)
{
$message = array(
'is_error' => 'success',
'message' => 'Success: ' . $stmt->affected_rows . ' rows were inserted.' // value should be 1
);
}
else
{
// if not, send warning to user
$message = array(
'is_error' => 'warning',
'message' => 'Warning: ' . $stmt->affected_rows . ' rows were updated.'
);
}
// close your connection
$stmt->close();
}
else
{
$message = array(
'is_error' => 'danger',
'message' => 'QUERY: error. Try again.'
);
exit;
}
}
else
{
$message = array(
'is_error' => 'warning',
'message' => 'There was no submission attempt. Try again.'
);
exit;
}
注意,代码中的代码被分解为多个部分,您可以在其中捕获多个错误,这对于调试很重要;它将允许您准确地知道代码出错的地方,并将您的问题定位到代码的单个部分。
问题内容: 我面临一个问题,我有两个文件。然后,我想加入一个文件,但每个文件都加入一页。 我看到了下面的一些技巧,但我不知道他们是最好的,因为我的第一个文件有3个波段:,和。第二个有和。 所以我想尽可能保留这种格式,因为摘要中有分页计数器。 我已经尝试过了,但是我的第二页是空白的,高度为5厘米。 列表页=新的ArrayList <>(); 那我该怎么办? 问题答案: 要将多个JRXML添加到一个报
PPT/Excel 中插入动态交互图表,需要使用Office应用商城插件。 1) 使用Office2013或以上版本创建一个PPT文档(Excel也可以) 2) 点击“插入”选项卡,再点击“应用商店”按钮打开商店窗口。 3) 在商店窗口中搜索“图表秀”,找到名为“图表秀-PPT动态展示”的外接程序,点击添加即可。 4) 以后再要使用此插件时只需点击“我的加载项”,即可找到并直接使用此插件了。 5)
问题内容: 我有一个包含标识列和代表创建日期的列的表: 由于标识列本身会生成一个值,而CreationDate始终将是当前日期(),因此我可以添加一行,这要归功于: 但是,如果我想添加三个记录,该怎么办? 当前解决方案(编辑了一些输入,因为它没有任何意义) 现在,为了做我想做的,我添加了几行: 虽然,我更希望知道多行的等效项,以防稍后添加另一列具有默认值的列。 有没有办法用或类似的方法将N行插入表
问题内容: 在MySQL中,我会使用 但这会导致SQLite错误。SQLite的正确语法是什么? 问题答案: 在此之前,已经回答了这一问题:是否可以一次在SQLite数据库中插入多行? 要回答您对OMG Ponies的评论,请回答: 从3.7.11版本开始,SQLite确实支持多行插入。理查德·希普(Richard Hipp)评论:
我有两个表和一个表来映射我以前的两个表的关系,我如何使用Spring data JPA高效自动地将数据插入到映射的表中?下面是表结构。 用户(id(PK),名称,电子邮件,userRoleId)角色(id(PK),名称,userRoleId)用户角色(id(PK),userId(FK<-User),roleId(FK<-Role))
我想在标签表中插入标签,也可以在post创建页面的post_标签表中插入标签。当我创建一个新的贴子时,标签插入到标签表中,而不是插入到贴子标签表中。它显示的日期时间格式无效。 SQLSTATE[22007]:无效的日期时间格式:1366不正确的整数值:第1行的列anusondhan.post_tag.tag_id的“start,tas”(SQL:插入到post_tag(post_id,tag_id