Php 对sql连接感到困惑
我有这个,它按ID查看表中的数据我的问题是 如果我添加了一个更新(如图所示),它不会显示在UpdateBy和update表中:我尝试加入mysql,但它只获取第二个表中的dateupdated列。这是我的第二个表,这是我的第一个表,外键是document_id,如您所见 这是我在mysql中的查询Php 对sql连接感到困惑,php,mysql,sql,Php,Mysql,Sql,我有这个,它按ID查看表中的数据我的问题是 如果我添加了一个更新(如图所示),它不会显示在UpdateBy和update表中:我尝试加入mysql,但它只获取第二个表中的dateupdated列。这是我的第二个表,这是我的第一个表,外键是document_id,如您所见 这是我在mysql中的查询 $query = "SELECT document.document_id, document.document_name, document.document_type, document.d
$query = "SELECT document.document_id, document.document_name, document.document_type,
document.document_from,document.document_to,document.document_recieved, document.document_date,document.document_dater,
document.document_status,document.document_signatories,document.document_remarks,document.document_encoded, add_update.document_date_update,
add_update.document_update,add_update.document_updatedby FROM document LEFT JOIN add_update ON document.document_id = add_update.document_id WHERE
document.document_id = '".$_POST["document_id"]."'";
$result = mysqli_query($connection, $query);
我相信你必须追踪代码。首先,你能做到
print_r($result)
检查查询是否包含所有列。然后,如果它已经给出了正确的结果,请检查您的表单,检查它是否输出了正确的变量
使用参数绑定也是一种很好的做法:
$query = $mysqli->prepare('SELECT document.document_id,
document.document_name,
document.document_type,
document.document_from,
document.document_to,
document.document_recieved,
document.document_date,
document.document_dater,
document.document_status,
document.document_signatories,
document.document_remarks,
document.document_encoded,
add_update.document_date_update,
add_update.document_update,
add_update.document_updatedby
FROM document
LEFT JOIN add_update ON document.document_id = add_update.document_id
WHERE
document.document_id = ?');
$query->bind_param('s', $_POST["document_id"]);
$result = $query->execute();
你的密码是肯定的,但那不是他的问题。给出一个解决方案查询,然后讨论代码上的转义问题。请帮助我,我真的需要它。您可能认为“document_update”和“document_update”中有一些键入错误,请检查..我想,您应该使用“AND document.document_id=?”;而不是WHERE。将文档id放入“WHERE条件”中将为您提供仅与ID匹配的行的结果。当将其放入“连接条件”中时,将为您提供所有行,但是与文档ID不匹配的行将不会连接到添加文档表。@VoltzV请同时将您的mysqli连接$mysqli=new mysqli(“主机”、“我的用户”、“我的密码”、“数据库名”);在父表(即“document”表)中,我将document\u id作为主键,在子表(即“add\u update”表)中,我将document\u id作为外键。他们有匹配的文档id,但我的查询不起作用。嗨@VoltzV,你能解释一下查询不起作用的意思吗?你能给我们看看打印结果吗