php和javascript和sql,使用Javascript,PHP和AJAX输出SQL查询

我正在尝试使用一种表单,该表单在提交时会将简单SQL查询的输出返回到页面上,而无需重新加载(AJAX).我可以得到简单的输出,但是当我使用PHP进行SQL查询时,不会返回任何内容.任何帮助将非常感激.我也无论如何也无法检查我的Javascript / Php有什么问题.

对于Web开发而言,这是很新的内容,因此,如果这很琐碎,则表示歉意.以前找到的所有解决方案均无效

我的代码;

a1.php

Login

Username:

Password:

scriptget.js

function getAccount(){

var phpOut = $.ajax({

type: 'GET',

url: 'submitInjection.php',

data: 'myusername=billsmith&mypassword=password'

});

drawOutput('hello');

return false;

}

function drawOutput(responseText){

var container = document.getElementById('output2');

container.innerHTML = responseText;

}

Submitinjection.php

$host="localhost"; //Host Name

$username="root"; // MySql Username

$password="root"; // Mysql Password

$db_name="Honours2"; //Database Name

$tbl_name="Users"; // Table Name

// Connect to server and select database

$conn = mysql_connect("$host", "$username", "$password") or die("Cannot Connect");

mysql_select_db("$db_name") or die("Cannot select DB");

// User and Password sent from form

$myusername = $_GET['myusername'];

$mypassword = $_GET['mypassword'];

/**

Protect MYSQL INJECTION

$myusername = stripslashes($myusername);

$mypassword = stripslashes($mypassword);

$myusername = mysql_real_escape_string($myusername);

$mypassword = mysql_real_escape_string($mypassword);

*/

$sql = "SELECT *

FROM $tbl_name

WHERE username = '$myusername'

AND password = '$mypassword'

";

$result=mysql_query($sql);

/* echo $sql; */

if (!$result){

die('Invalid Query: ' . mysql_error() . $sql);

}

if ($result){

echo($sql);

}

/* var_dump($result); */

while ($row = mysql_fetch_assoc($result)){

echo $row['username'];

echo ": ";

echo $row['balance'];

}

mysql_free_result($result);

$conn->close();

?>

提前致谢

解决方法:

您需要在成功函数中处理ajax调用的结果.您也可以使用.done()或$.when().then()之类的东西,请查看jQuery手册.

一个使用成功函数的简单示例:

var phpOut = $.ajax({

type: 'GET',

url: 'submitInjection.php',

data: 'myusername=billsmith&mypassword=password',

success: function(data_returned) {

alert(data_returned);

// or

$('#output2').html(data_returned);

}

});

一些附加说明:

>不要使用GET将敏感信息发送到服务器,而应使用POST;

>不要存储纯文本密码,不要添加盐和哈希值;

>不建议使用mysql_ *函数,您应该切换到mysqli_ *或PDO,在这里可以使用准备好的语句来避免sql注入,从而避免了转义.

标签:ajax,javascript,mysql,php,jquery

来源: https://codeday.me/bug/20191120/2047453.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值