繁体   English   中英

mysql_query(INSERT ...)函数在我的代码中不起作用

[英]mysql_query(INSERT …) function not working in my code

我创建了数据库,它基本上接受名称和Id以及长度为47的答案字符串,我的PHP代码将根据我提供的答案密钥对传入结果进行评级,并且包含正确答案计数的数字将存储在数据库中。 这是我的数据库的信息。 数据库名称是标记,表格称为“回答”,其中有5个字段如下

1) answer_id :int , not null, auto increament.
2) name: text
3)id : text
4)answers : text
5)correct : int

我的问题和问题是功能正常

// setup query
$q = mysql_query("INSERT INTO `answer` VALUES 
 (NULL,'$name', '$id','$answers','$correct')");
// run query
$result = mysql_query($q);

或以其他方式,没有任何东西存储在我的数据库???

提前致谢。

这是整个计划。

<?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'; 
?>

尝试这个:

// 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())部分不应该在生产代码中使用,仅用于调试目的。

两件事情。

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

而且,你在查询中引用了correctint列,据我所知,你不能这样做(我可能在那里错了)。

$result = mysql_query("INSERT INTO `answer` VALUES (NULL,'$name', '$id','$answers',$correct)");

编辑:事实证明我其实是错的,你可能会忽视我的回答。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM