【发布时间】:2013-08-19 01:57:44
【问题描述】:
我使用 javascript 从两个文件中捕获 html。在其中一个文件中,我包含了连接到我的数据库的信息。
但是当我这样做时,php 在我的 html 中添加了两个 "。所有文件都使用 UTF8 编码保存。
index.php html
<div class="f-l" id="right-column"></div>
Javascript.js
$('#lead, #prospects').change(function() {
var kund_id = 'kund_id=' + $('#lead option:selected, #prospects option:selected').attr('value');
$.post(
'get_kund.php',
kund_id,
function(data){
$('#center-column').html(data)
});
$.post(
'get_kontaktperson.php',
kund_id,
function(data){
$('#right-column').html(data)
}); return false;
});
get_kontaktperson.php
include("db_connect.php");
$kund_id = $_POST['kund_id'];
$qry = "SELECT * FROM kontaktperson WHERE kund_id='$kund_id' ORDER BY id DESC";
$result=mysql_query($qry);
while($row=mysql_fetch_array($result)) {
echo 'some html'; }
db_connect.php
require_once('db_info_login.php');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: '
. mysql_error());
}
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die('Unable to select database');
}
mysql_query('SET NAMES utf8')
这会在 get_kontaktperson.php 的 html 代码上方添加“”:
为什么这对我来说似乎是个问题,<div class="kontaktperson"> 被某些东西放错了位置。如果我删除包含,它将显示正确的 html 内容。但是当我输入一些数据时,就会发生这种情况。右边栏的边距...
【问题讨论】:
-
您对 SQL 注入攻击持开放态度,如果您还没有受到攻击,您将被黑客入侵。使用 PDO 或类似的准备好的/参数化查询来完全避免这个问题。
-
你会被黑
-
Please, don't use
mysql_*functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial. -
好的,谢谢。将转到 PDO。
标签: php javascript jquery mysql