Tôi muốn biết cách chọn một giá trị duy nhất từ bảng MySQL của tôi. Bảng bao gồm các cột
session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
5 và session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
6 trong số các cột khác [session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
6 là tự động tăng và session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
5 là duy nhất]. Với tên người dùng, tôi muốn đặt một biến phiên session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
9 bằng với giá trị trong cột session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
6 tương ứng với tên người dùng đã cho. Đây là mã mà tôi đã thử:session_start[];
$name = $_GET["username"];
$sql = "SELECT 'id' FROM Users WHERE username='$name'";
$result = mysql_query[$sql];
$value = mysql_fetch_object[$result];
$_SESSION['myid'] = $value;
Cho đến nay tôi đang nhận được:
Lỗi nghiêm trọng có thể bắt được: đối tượng của lớp std class không thể được chuyển đổi thành chuỗi.
Đúc
session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
1 để loại chuỗi không khắc phục sự cố.
Dharman ♦♦
28.3K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồng21 gold badges75 silver badges127 bronze badges
Đã hỏi ngày 2 tháng 1 năm 2014 lúc 7:12Jan 2, 2014 at 7:12
2
Không sử dụng trích dẫn trong tên trường hoặc tên bảng bên trong truy vấn.
Sau khi tìm nạp một đối tượng, bạn cần truy cập các thuộc tính/thuộc tính đối tượng [trong ID trường hợp của bạn] bằng tên thuộc tính/thuộc tính.
Một lưu ý: Vui lòng sử dụng mysqli_* hoặc pdo vì mysql_* không dùng nữa. Ở đây nó đang sử dụng MySQLI:please use mysqli_* or PDO since mysql_* deprecated. Here it is using mysqli:
session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
Mẹo thưởng: Sử dụng giới hạn 1 cho loại kịch bản này, nó sẽ tiết kiệm thời gian thực hiện :]
Dharman ♦♦
28.3K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồng21 gold badges75 silver badges127 bronze badges
Đã hỏi ngày 2 tháng 1 năm 2014 lúc 7:12Jan 2, 2014 at 7:15
Không sử dụng trích dẫn trong tên trường hoặc tên bảng bên trong truy vấn.Awlad Liton
Sau khi tìm nạp một đối tượng, bạn cần truy cập các thuộc tính/thuộc tính đối tượng [trong ID trường hợp của bạn] bằng tên thuộc tính/thuộc tính.2 gold badges26 silver badges52 bronze badges
3
Một lưu ý: Vui lòng sử dụng mysqli_* hoặc pdo vì mysql_* không dùng nữa. Ở đây nó đang sử dụng MySQLI:highly recommended that you use the PDO extension instead, like so:
session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
Mẹo thưởng: Sử dụng giới hạn 1 cho loại kịch bản này, nó sẽ tiết kiệm thời gian thực hiện :]
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 7:15
Awlad Litonawlad Litton
$database_username = "YOUR_USERNAME";
$database_password = "YOUR_PASSWORD";
$database_info = "mysql:host=localhost;dbname=YOUR_DATABASE_NAME";
try
{
$PDO = new PDO[$database_info, $database_username, $database_password];
}
catch[PDOException $e]
{
// Handle error here
}
Dharman ♦♦
28.3K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồng21 gold badges75 silver badges127 bronze badges
Đã hỏi ngày 2 tháng 1 năm 2014 lúc 7:12Jan 2, 2014 at 7:20
Không sử dụng trích dẫn trong tên trường hoặc tên bảng bên trong truy vấn.Wes Cossick
Sau khi tìm nạp một đối tượng, bạn cần truy cập các thuộc tính/thuộc tính đối tượng [trong ID trường hợp của bạn] bằng tên thuộc tính/thuộc tính.2 gold badges18 silver badges35 bronze badges
4
Một lưu ý: Vui lòng sử dụng mysqli_* hoặc pdo vì mysql_* không dùng nữa. Ở đây nó đang sử dụng MySQLI:
session_start[];
$link = mysqli_connect["localhost", "my_user", "my_password", "world"];
$name = $_GET["username"];
$sql = "SELECT 'id' FROM Users WHERE username='$name' limit 1";
$result = mysqli_query[$link, $sql];
if [$result !== false] {
$value = mysqli_fetch_field[$result];
$_SESSION['myid'] = $value;
}
Mẹo thưởng: Sử dụng giới hạn 1 cho loại kịch bản này, nó sẽ tiết kiệm thời gian thực hiện :]
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 7:15Jan 2, 2014 at 7:16
Awlad Litonawlad Littonsas
9.2682 Huy hiệu vàng26 Huy hiệu bạc52 Huy hiệu Đồng1 gold badge17 silver badges28 bronze badges
5
Các chức năng MySQL_* không được chấp nhận và không an toàn. Mã trong câu hỏi của bạn dễ bị tấn công tiêm. Thay vào đó, bạn rất khuyến khích bạn sử dụng tiện ích mở rộng PDO, như vậy:
$value = mysql_result[$result, 0];
Trong đó
session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
2 là biến đối tượng PDO của bạn. Xem //www.php.net/pdo_mysql để biết thêm thông tin về PHP và PDO.Jan 2, 2014 at 7:17
Để được trợ giúp thêm:Khawer Zeshan
Dưới đây là một bước nhảy về cách kết nối với cơ sở dữ liệu của bạn bằng PDO:6 gold badges38 silver badges62 bronze badges
2
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 7:20
Wes Cossickwes Cossick
2.8932 huy hiệu vàng18 Huy hiệu bạc35 Huy hiệu đồng
$stmt = $pdo->prepare["SELECT id FROM Users WHERE username=?"];
$stmt->execute[[ $_GET["username"] ]];
$value = $stmt->fetchColumn[];
Bạn làm điều này bằng cách sử dụng phương pháp
session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
3.Lưu ý: Bạn cũng có thể làm điều đó bằng cách sử dụng phương pháp session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
4, nhưng nó sẽ không được chấp nhận trong PHP v5.5
session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 7:16
$stmt = $mysqliConn->prepare['SELECT id FROM Users WHERE username=?'];
$stmt->bind_param["s", $_GET["username"]];
$stmt->execute[];
$data = $stmt->get_result[]->fetch_assoc[];
$value = $data ? $data['id'] : null;
Sassas
Huy hiệu vàng 2.5431 Huy hiệu bạc28 Huy hiệu đồng
$stmt->execute[];
$value = $stmt->get_result[]->fetch_column[];
Thử cái nàyJun 24, 2019 at 22:05
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 7:17♦Dharman
28.3K21 Huy hiệu vàng75 Huy hiệu bạc127 Huy hiệu đồng21 gold badges75 silver badges127 bronze badges
1
Đã hỏi ngày 2 tháng 1 năm 2014 lúc 7:12
Không sử dụng trích dẫn trong tên trường hoặc tên bảng bên trong truy vấn.
Sau khi tìm nạp một đối tượng, bạn cần truy cập các thuộc tính/thuộc tính đối tượng [trong ID trường hợp của bạn] bằng tên thuộc tính/thuộc tính.Jan 2, 2014 at 7:13
Một lưu ý: Vui lòng sử dụng mysqli_* hoặc pdo vì mysql_* không dùng nữa. Ở đây nó đang sử dụng MySQLI:Alex Siri
Mẹo thưởng: Sử dụng giới hạn 1 cho loại kịch bản này, nó sẽ tiết kiệm thời gian thực hiện :]1 gold badge16 silver badges23 bronze badges
1
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 7:15
session_start[];
$name = $_GET["username"];
$sql = "SELECT 'id' FROM Users WHERE username='$name' LIMIT 1 ";
$result = mysql_query[$sql] or die[mysql_error[]];
if[$row = mysql_fetch_assoc[$result]]
{
$_SESSION['myid'] = $row['id'];
}
Awlad Litonawlad LittonJan 2, 2014 at 7:24
9.2682 Huy hiệu vàng26 Huy hiệu bạc52 Huy hiệu ĐồngSatish Sharma
Các chức năng MySQL_* không được chấp nhận và không an toàn. Mã trong câu hỏi của bạn dễ bị tấn công tiêm. Thay vào đó, bạn rất khuyến khích bạn sử dụng tiện ích mở rộng PDO, như vậy:6 gold badges28 silver badges51 bronze badges
1
Trong đó
session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
2 là biến đối tượng PDO của bạn. Xem //www.php.net/pdo_mysql để biết thêm thông tin về PHP và PDO.Để được trợ giúp thêm:
session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
0O/P
session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
1Dưới đây là một bước nhảy về cách kết nối với cơ sở dữ liệu của bạn bằng PDO:
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 7:20
session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
2Wes Cossickwes Cossickgrave accent[`] instead of single quote['].
2.8932 huy hiệu vàng18 Huy hiệu bạc35 Huy hiệu đồng
session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
3Bạn làm điều này bằng cách sử dụng phương pháp session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
3.
session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
session_start[];
mysqli_report[MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT];
$link = new mysqli['localhost', 'username', 'password', 'db_name'];
$link->set_charset['utf8mb4']; // always set the charset
$name = $_GET["username"];
$stmt = $link->prepare["SELECT id FROM Users WHERE username=? limit 1"];
$stmt->bind_param['s', $name];
$stmt->execute[];
$result = $stmt->get_result[];
$value = $result->fetch_object[];
$_SESSION['myid'] = $value->id;
4
Lưu ý: Bạn cũng có thể làm điều đó bằng cách sử dụng phương pháp
session_start[];
$query = "SELECT 'id' FROM Users WHERE username = :name LIMIT 1";
$statement = $PDO->prepare[$query];
$params = array[
'name' => $_GET["username"]
];
$statement->execute[$params];
$user_data = $statement->fetch[];
$_SESSION['myid'] = $user_data['id'];
4, nhưng nó sẽ không được chấp nhận trong PHP v5.5Jan 2, 2014 at 7:53
Đã trả lời ngày 2 tháng 1 năm 2014 lúc 7:16Rajesh Paul
Sassas6 gold badges38 silver badges56 bronze badges
2