Php MySql数据库插入操作在硬盘(localhost)上工作,但在Internet上托管时不工作
我有一个插入操作在我的网站,这是这样的工作Php MySql数据库插入操作在硬盘(localhost)上工作,但在Internet上托管时不工作,php,javascript,mysql,ajax,Php,Javascript,Mysql,Ajax,我有一个插入操作在我的网站,这是这样的工作 在index.html文件中,当按下按钮时,将调用javascript函数 在javascript函数中,AJAX用于将请求发送到包含必要参数的php文件 php文件访问数据库并插入数据 以下是上述任务的代码,供您参考 2.Javascript函数 function grandFinale() { if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera
function grandFinale()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","insert.php?q=&name=" + encodeURIComponent(document.getElementById('name').value) + "&txtScore1=" + encodeURIComponent(document.getElementById('txtScore1').innerHTML),true);
xmlhttp.send();
document.location.reload();
}
1.HTML按钮
<p id="txtScore1" align="center" style="color: #cc6699; font-size: 18px; "></p>
<label class="control-label" for="input01">Name</label>
<a href="#" class="btn btn-primary" onclick="javascript:grandFinale()" >Submit My Score</a>
名称
3.PHP脚本
<?php
$con = mysql_connect("host","uname","pword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbname", $con) or die( "Unable to select database");
$sql="INSERT INTO 'masterTable' ('Name', 'Score') VALUES ('{$_GET['name']}','{$_GET['txtScore1']}')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
我首先检查您在000webhost.com上为数据库(uname)设置的用户是否具有插入权限。您得到的错误是?此外,还有一个很大的SQL注入缺陷。清理用户输入!确保为主机正确配置了数据库访问的参数。另外请注意,您不应该在新应用程序中使用mysql_*函数,因为它们已被弃用,请注意,您的应用程序完全容易受到SQL注入的攻击,您应该使用PDO参数化查询来防止这种情况。您有权在服务器数据库中插入数据。请检查一次?如果您没有检查主机的文档并得到(可能类似的)直接示例,如果太本地化
,我们就无法提供帮助。您需要首先关注如何让测试页面在您的站点数据库上运行,以及主机的文档。这应该是一个权限问题。当我在SQL上发出此命令时,请在上授予使用权限。至“uname”@“mysql6.000webhost.com”,由“密码”标识;我得到以下错误。“#1045-拒绝用户'uname'@'localhost'(使用密码:YES)的访问”这应该是权限问题。当我在SQL上发出此命令时,请在上授予使用权限。至“uname”@“mysql6.000webhost.com”,由“密码”标识;我得到以下错误。“#1045-拒绝对用户‘uname’@‘localhost’(使用密码:YES)的访问”如果我是你,我会在“特权”选项卡下添加一个新用户(你的主机是否有PHPMyAdmin?),然后选择“授予数据库“dbname”上的所有特权”或在“全局特权”下,确保至少选中“插入”框来验证新用户是否具有插入权限。它没有“权限”选项卡。当我在谷歌上搜索为什么它说它是默认禁用的。他们建议以root用户身份登录phpmyadmin。我不能这样做,它会给出错误#1045。谢谢你的回答。真令人沮丧……也许是时候找个新的主持人了?;)建议。。请?(免费的)