레코드가 테이블에 삽입 될 때마다 다음 PHP 코드를 사용하여 전자 메일을 보내고 있습니다.데이터베이스에서 이메일 주소를 동적으로 선택하는 방법은 무엇입니까?
<?php
$latitude = $_GET['latitude'];
$longitude = $_GET['longitude'];
$uid = $_GET['uid'];
$type = $_GET['type'];
$server = "itp.db.8307610.hostedresource.com";
$username = "abc";
$password = "xyz";
$database = "abc";
$query = "INSERT INTO gps (latitude, longitude, uid, type) VALUES ($latitude, $longitude, $uid, '$type')";
$query1 = "SELECT email FROM musers WHERE uid = $uid";
$result = mysqli_query($link,$query1) or die("query error".mysqli_error());
$email = mysqli_fetch_array($result, MYSQLI_ASSOC);
@mail("$email","New record added","A new record has been added,"From: [email protected]");
$link = mysqli_connect($server, $username, $password) or die ("error connecting to database");
mysqli_select_db($database, $link);
mysqli_query($query, $link) or die("query error");
mysqli_query($query1, $link) or die("query error");
mysqli_close($link);
echo "SUCCESS\n";
?>
문제없이 작동합니다. 전자 메일 ID를 하드 코딩했습니다.
다음 검색어를 기반으로 musers 테이블의 이메일을 어떻게 동적으로 추가 할 수 있습니까?
select email from musers where uid = $uid;
편집 : 내가 변경 한 후 다음과 같은 오류를 얻고있다.
경고 : mysqli_query()가 파라미터 1 널 라인 /home/content/i/t/p/itp/html/data/email.php에 주어진 mysqli 것으로 예상 12
경고 : mysqli_error()는 기대하고 정확하게 제공하고 있습니다
mysql_ * 함수는 PHP 5.5에서 더 이상 사용되지 않습니다 (http://stackoverflow.com/questions/13944956/the-mysql-extension-is-deprecated-and-will-be-removed-in-the- 미래에 대한 자세한 내용은 mysqli를 참조하십시오). mysqli 나 pdo를 사용해보십시오. – Femaref
이미 'musers' 테이블에서'email' 값을 선택하고있는 것 같습니다. 여러분은 그것을 사용하지 않고있는 것입니다. 값을 선택하고 선택한 값을 사용하면'mail()'호출을로 이동하십시오. – David
이 코드에는 SQL 삽입 취약점이 있습니다. 모든 '$ _GET'값을 이스케이프 처리해야합니다. – halfer