我对PHP和MySQL还是很陌生,但是我无法弄清楚这一点。我在论坛周围搜索了所有内容,但没有找到我能理解的答案。我最初使用的是mysql_fetch_assoc(),但我只能搜索数字,并且在搜索字母时也收到错误。我希望我在正确的轨道上。预先感谢您的所有帮助!
$con = mysqli_connect($hostname,$username,$password) or die ("<script language='javascript'>alert('Unable to connect to database')</script>"); mysqli_select_db($con, $dbname); if (isset($_GET['part'])){ $partid = $_GET['part']; $sql = 'SELECT * FROM $usertable WHERE PartNumber = $partid'; $result = mysqli_query($con, $sql); $row = mysqli_fetch_assoc($result); $partnumber = $partid; $nsn = $row["NSN"]; $description = $row["Description"]; $quantity = $row["Quantity"]; $condition = $row["Conditio"]; }
当您的结果不是结果(而是“ false”)时,就会发生这种情况。您应该更改此行
$sql = 'SELECT * FROM $usertable WHERE PartNumber = $partid';
对此:
$sql = "SELECT * FROM $usertable WHERE PartNumber = $partid";
因为“可以解释$变量,而’不能。
适用于整数(数字),对于字符串,您需要将$ variable放在单引号中,例如
$sql = "SELECT * FROM $usertable WHERE PartNumber = '$partid' ";
如果要/必须使用单引号,则php无法解释变量,则必须这样做:
$sql = 'SELECT * FROM '.$usertable.' WHERE string_column = "'.$string.'" AND integer_column = '.$number.';