我正在学习PHP,并且已经尝试将这项工作做了一段时间,但没有运气。
$sql = "SELECT * FROM add_employee WHERE employee_id='".$employee_id."'";
我收到以下错误:
Notice: Undefined variable: employee_id in www/suman/payroll_process.php on line 12
我知道我输入的员工ID在数据库中。当我硬编码employee_id ='100'时,查询得到了一个返回。
我应该如何获得变量中的值以及此变量的位置
答案 0 :(得分:4)
您需要在脚本中的某处设置PHP变量$employee_id
。
另外,使用prepared statements进行SQL查询。
答案 1 :(得分:0)
你正在解释SQL& PHP错了。给出:
... WHERE employee_id='".$employee_id."'
^---(A)---^ ^---(B)----^
(A)数据库中有什么内容 (B)你想在数据库中找到什么
由于您尝试将PHP变量插入查询字符串,因此必须在PHP代码的其他位置定义该变量。请记住,虽然SQL数据库和PHP可以相互通信,但它们必须使用彼此的语言。您无法将PHP代码发送到数据库并期望数据库执行它。那不是数据库的工作。数据库解释SQL查询而不解释任何其他内容。
类似地,当数据库将数据返回给PHP时,数据库驱动程序必须从特定于数据库的blob / text / date / enum字段转换为PHP版本。尝试解释数据库数据格式不是PHP的工作。
答案 2 :(得分:0)
我猜测employee_id是从表单传递的,并不是所有服务器都会自动将$ _POST和$ _GET转换为相应的变量。您需要先将其排序
$employee_id = $_POST['employee_id']; // change to $_GET['employee_id'] if the value is shwn in the url
在处理sql命令之前,需要包含此内容。