Php 正在尝试我的第一个sql左连接-isn';行不通
您好Php 正在尝试我的第一个sql左连接-isn';行不通,php,mysql,join,Php,Mysql,Join,您好我正在尝试连接两个数据库表并将行提取到php变量。但这是我的第一个join函数,我不会将任何值返回到我的表单中 SELECT s.supplierid, s.name, s.address, s.zipCode, s.cityName, s.region, s.country, s.phone, s.fax,
我正在尝试连接两个数据库表并将行提取到php变量。但这是我的第一个join函数,我不会将任何值返回到我的表单中
SELECT s.supplierid,
s.name,
s.address,
s.zipCode,
s.cityName,
s.region,
s.country,
s.phone,
s.fax,
s.contactMame,
s.contactTitle,
s.contactPhone,
s.contactEmail,
s.notes,
s.employeeid,
e.employeeid as emp_id,
e.name as emp_name
FROM suppliers s
LEFT JOIN employees e
ON s.employeeid=e.employeeid
WHERE supplierid=? limit 0,1
ORDER BY name DESC
LIMIT :from_record_num, :records_per_page";
然后我把它们分配给这样的变量
$name = $row['name'];
$address = $row['address'];
$emp_name = $row['emp_name'];
我需要在代码中再次使用它,但要从表中提取所有行。有什么方法可以使用它吗
SELECT *
在左连接中?尝试以下操作:-
(假设分页变量$from_record_num
和$records_per_page
)
你的问题不是很清楚。当你说“它没有完成我希望它做的事情”时,你是什么意思?是的,你可以在左连接中使用
SELECT*
,是的,你可以在包含左连接的查询中使用SELECT*。但是,如果两个表中都存在相同的字段(例如“name”),则必须小心。您是对的,但不太清楚。我的html表单中没有任何值。看来sql中有两个限制子句。此外,为了避免出现问题,请在引用where子句中的字段名以及order by时使用别名。您也不能在sql中为limit子句使用占位符变量
$sql="select
s.supplierid,
s.name,
s.address,
s.zipcode,
s.cityname,
s.region,
s.country,
s.phone,
s.fax,
s.contactmame,
s.contacttitle,
s.contactphone,
s.contactemail,
s.notes,
s.employeeid,
e.employeeid as 'emp_id',
e.name as 'emp_name'
from suppliers s
left join employees e on s.employeeid=e.employeeid
where s.supplierid=?
order by s.name desc
limit {$from_record_num}, {$records_per_page}";