提问人:Greenreader9 提问时间:12/8/2021 最后编辑:DharmanGreenreader9 更新时间:12/8/2021 访问量:47
如何对数据库列进行搜索,并返回匹配的行 [duplicate]
How to seach a database column, and return matching rows [duplicate]
问:
我有以下数据库(名为“Account_info”):
|id (All Unique)|domain_name (All unique)| account_name |account_key|
|---------------|------------------------|----------------|-----------|
| 1 |example.com |account_23657612|889977 |
| 2 |example.net |account_53357945|889977 |
| 3 |example.edu |account_53357945|889977 |
| 4 |example.xyz |account_93713441|998822 |
我希望在数据库中搜索域“example.net”,并将该域的“帐户密钥”列作为变量返回。
例:
搜索词:example.net
响应:889977
到目前为止,我的代码:
$domainSearch = "example.net";
$sql = mysqli_query($connect,"SELECT `account_name` FROM `Account_info` WHERE `domain_name`='$domainSearch'");
if($sql){
//Some code here that sets the variable "result" to "889977"
}
答:
1赞
Ken Lee
12/8/2021
#1
若要获取帐户密钥作为返回值,只需从结果集中获取数据并将其作为关联数组返回
另一方面,请使用参数化的 parpared 语句来避免 SQL 注入攻击。
因此改变
$sql = mysqli_query($connect,"SELECT `account_name` FROM `Account_info` WHERE `domain_name`='$domainSearch'");
自
$sql = "SELECT * FROM Account_info WHERE domain_name=?"; // SQL with parameters
$stmt = $connect->prepare($sql);
$stmt->bind_param("s", $domainSearch);
$stmt->execute();
$result = $stmt->get_result(); // get the mysqli result
$user = $result->fetch_assoc(); // fetch data
echo $user["account_key"];
// to assign as a variable -- $var1=$user["account_key"];
评论