在这里业余,只是练习一些sql。
我试图将php变量分配给我的sql查询结果,并且我认为我以这种方式看到了它,但是它似乎对我不起作用:
$query1 = mysql_query("SELECT * FROM markers WHERE id = '$markerid'");
$result = mysql_query($query1);
$markerData = mysql_fetch_array($result, MYSQL_ASSOC);
$name = $markerData['name'];
$description = $markerData['description'];
$directions = $markerData['directions'];
$lat = $markerData['lat'];
$lng = $markerData['lng'];
$type = $markerData['type'];
$addedby = $markerData['addedby'];
我公然无视某些规则吗?
另外,我知道不建议使用sql /不安全,只是尝试在此处学习基础知识。
真诚的感谢您的帮助。
您应该将查询语句输入mysql_query函数,而不是将其与另一个mysql查询一起输入:
$sql = "SELECT * FROM markers WHERE id = '$markerid'";
$result = mysql_query($sql);
强制性说明:
请不要
mysql_*
在新代码中使用函数。它们不再维护,已正式弃用。看到红色框吗?了解准备的语句来代替,并使用PDO或库MySQLi -本文将帮助你决定哪些。如果您选择PDO,这是一个很好的教程。
是否仍处于起步阶段并不重要。由于您已经知道API已被弃用,并且您的查询是usafe的,所以为什么不开始养成良好的习惯。
这是通过带有准备好的语句的PDO进行的:
$db = new PDO('mysql:host=localhost;dbname=DB_NAME', 'username', 'password');
$sql = 'SELECT * FROM markers WHERE id = :markerid';
$select = $db->prepare($sql);
$select->bindParam(':markerid', $markerid, PDO::PARAM_INT);
$select->execute();
$markerData = $select->fetch(PDO::FETCH_ASSOC);
$name = $markerData['name'];
$description = $markerData['description'];
$directions = $markerData['directions'];
$lat = $markerData['lat'];
$lng = $markerData['lng'];
$type = $markerData['type'];
$addedby = $markerData['addedby'];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句