我正在尝试使用ajax在我的数据库中插入数据,但没有任何工作。可以告诉我,我做错了吗?
的index.php
<html>
<head>
<title>Title</title>
<script type="text/javascript">
function myLoad(){
if(window.XMLHttpRequest){
var xmlhttp = new XMLHttpRequest();
}else{
var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.open('GET', 'generate.php?text=' + document.getElementById('textarea').value, true);
xmlhttp.send();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
window.document.getElementById('par').innerHTML = xmlhttp.responseText;
}
}
}
</script>
</head>
<body>
<div id="par"></div>
<input type="text" id="textarea">
<input type="button" id="button" value="Click Me" onClick="myLoad();"/>
</body>
</html>
GENERATE.PHP
<?php
require 'php/connect.inc.php';
if(isset($_GET['text']) && !empty($_GET['text'])){
$name = $_GET['text'];
$query = "INSERT INTO users VALUES('', '$name', 'pass123', 'greg')";
if($mysql_query = mysql_query($query)){
echo 'Success';
}else{
echo 'Failed';
}
}
?>
CONNECT.INC.PHP
<?php
$mysql_host = 'localhost';
$mysql_user = 'root';
$mysql_pass = '';
$mysql_error = 'Could not connect';
$a_database = 'a_database';
if(!@mysql_connect($mysql_host, $mysql_user, $mysql_pass) OR !@mysql_select_db($a_database)){
die($mysql_error);
}
?>
答案 0 :(得分:0)
这可能不是您整个问题的原因,但可能会使问题混乱。
$query = "INSERT INTO users VALUES('', '$name', 'pass123', 'greg')";
如果您使用的是Mysql5 +,并且第一个VALUES是自动增加的ID号,那么INSERT将失败。要么保留它,要么将它设为null或0(未引用)空字符串''insert是Mysql4的一个“功能”,它应该不起作用。
即从Mysql5开始......
$query = "INSERT INTO users VALUES(0, '$name', 'pass123', 'greg')";