【发布时间】:2017-04-02 17:59:23
【问题描述】:
我真的很想得到一些帮助。我正在尝试从一个表中返回一条记录,在该表中我按名字和姓氏搜索该表,这是 php 变量 $employee_coor 中的一个字符串。
这个问题是当我在查询语句中使用变量时,它什么也不返回。没有错误什么都没有。但是,如果我将变量回显到屏幕上,则会看到员工的全名。然后我尝试将该全名复制到语句中,然后将返回记录。
我还在查询中尝试了 mysqli_num_rows 以确定是否选择了一条记录,并且在回显到屏幕时返回 0。
我真的不知道我为什么会得到这个,我希望这是我过度关注的东西或类似的东西。下面的代码显示了脚本。
更新:我在 MySQL 客户端中测试了确切的查询本身,它运行良好。唯一的区别是 MySQL 中的查询应该有一个全名,而不是代表该名称的 php 变量。
<?php
include_once('dbconnect.php');
if (!empty($_GET['employees'])) {
$employee_coor = $_GET['employees'];
$select = "SELECT * FROM employees
WHERE employees.employee_fname = substring_index('$employee_coor',' ',1)
AND employees.employee_lname = substring_index('$employee_coor',' ',-1)";
$query = mysqli_query($con,$select);
$cooridinator = mysqli_fetch_assoc($query);
var_dump($cooridinator);
} else{}
?>
【问题讨论】:
-
了解连接,从字符串连接变量/函数尝试这样做
'".substring_index()."'。 @Dez 不,这将导致删除单引号时出错。 -
@Dez 如果这样做会返回错误。
-
我现在试试那个方法@Rolijhon
-
1.将
mysqli_real_escape_string用于$employee_coor:$employee_coor = mysqli_real_escape_string($con, $_GET['employees']);。 2.SUBSTRING_INDEX()是 MySQL function 所以保持原样。 -
@Deadooshka 是的,是的,我不知道为什么我会忘记这一点,并听取了所有这些关于连接的 cmets ......我现在将尝试逃生 api