首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql_query(插入...)函数在我的代码中不起作用

问Mysql_query(插入...)函数在我的代码中不起作用
EN

Stack Overflow用户
提问于 2012-10-30 08:00:42
回答 2查看 48.6K关注 0票数 1

我已经创建了数据库,它基本上接受名称和Id和长度为47的答案字符串,我的php代码将根据我提供的答案关键字对传入的结果进行评分,并将包含正确答案计数的数字存储在数据库中。这是我的数据库信息。数据库名称是标记和名为‘答案’的表,它有5个字段,如下所示

代码语言:javascript
复制
1) answer_id :int , not null, auto increament.
2) name: text
3)id : text
4)answers : text
5)correct : int

我的疑问和问题是,函数正在工作

代码语言:javascript
复制
// setup query
$q = mysql_query("INSERT INTO `answer` VALUES 
 (NULL,'$name', '$id','$answers','$correct')");
// run query
$result = mysql_query($q);

或者以另一种方式,没有存储在我的数据库中?

提前谢谢。

这是整个程序。

代码语言:javascript
复制
<?php
error_reporting(E_ALL ^ E_STRICT);
// to turn error reporting off 
error_reporting(0);

$name  =$_POST['name']; 
$id = $_POST['id']; 
$answers = $_POST['answers'];

// check the length of string
if(strlen($answers) !=10) 
{
print'your answer string must be 10';

return;

} 
mysql_connect("localhost","root",""); 
mysql_select_db("marking"); 
$name = addslashes($name); 
$id = addslashes($id); 
$answers =  addslashes($answers); 
$answer_key =  "abcfdbbjca"; 
$correct =  0; 
for($i=0;$i<strlen($answer_key);$i++) 
{

if($answer_key[$i]  == $answers[$i])

$correct++;

} 
 //  Setup query
$q = mysql_query("INSERT INTO `answer` VALUES ('$name', '$id','$answers','$correct')");
$result = mysql_query($q);
print 'Thnak you. You got' + $correct + 'of 10 answers correct'; 
?>
EN

回答 2

Stack Overflow用户

发布于 2012-10-30 08:07:46

试试这个:

代码语言:javascript
复制
// setup query
$q = "INSERT INTO `answer` (`name`, `id`, `answers`, `correct`) VALUES 
 ('$name', '$id','$answers','$correct')";

//Run Query
$result = mysql_query($q) or die(mysql_error());

此外,您应该避免使用mysql_函数,因为它们正在被弃用。相反,我建议您熟悉一下PDO。

另外,请注意,or die(mysql_error())部分不应用于生产代码,仅用于调试目的。

票数 2
EN

Stack Overflow用户

发布于 2012-10-30 08:07:27

两件事。

实际上,您正在执行该查询两次。mysql_query执行查询并返回结果资源。http://php.net/manual/en/function.mysql-query.php

而且,您在查询中引用了int列correct,据我所知,您不能这样做(我可能错了)。

代码语言:javascript
复制
$result = mysql_query("INSERT INTO `answer` VALUES (NULL,'$name', '$id','$answers',$correct)");

编辑:证明我实际上是错的,你可以忽略我的回答。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13131401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档