大家好我所有我在php中做一个表格,因为drupal我有一个文本框和一个按钮,代码输入(varchar),这与执行验证时sqlserver中的记录进行比较输入的代码在DB中存在的表单中,使用存储过程执行iframe。
这是代码,我想我正在做错误的PHP代码并选择它,因为输入查询值的时刻不会生成文本“没事”或“查询的数字不存在”在他发现
我感谢那些告诉我帮助和指导的人
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Buscador php</title>
<form method="POST" action="" onSubmit="return validarForm(this)">
<input type="text" placeholder="Buscar usuario" name="palabra">
<input type="submit" value="Buscar" name="buscar">
</form>
</meta>
<script type="text/javascript">
function validarForm(formulario)
{
if(formulario.palabra.value.length==0)
{ //¿Tiene 0 caracteres?
formulario.palabra.focus(); // Damos el foco al control
alert('Debes rellenar este campo'); //Mostramos el mensaje
return false;
} //devolvemos el foco
return true; //Si ha llegado hasta aquí, es que todo es correcto
}
</script>
</html>
</head>
<?php
//si existe una petición
if($_POST['buscar'])
{
$usuario= '';
$pass = '';
$servidor = '';
$basedatos = '';
$info = array('Database'=>$basedatos, 'UID'=>$usuario, 'PWD'=>$pass);
$conexion = sqlsrv_connect($servidor, $info);
if(!$conexion){
die( print_r( sqlsrv_errors(), true));
}
echo 'Conectado';
$buscar = $_POST["palabra"];
$arrojado = sqlsrv_query("SELECT ID from Venta
where ID like '%buscar%'",$conexion) or
die("Problemas en el select:".sqlsrv_error());
?>
//$resultado = sqlsrv_fetch_array($arrojado);
<?php
$valor = $resultado['aleatoria']; //LE ASIGNAMOS UNA VARIABLE AL RESULTADO DE LA CONSULTA
//COMPARAMOS CON UNA CONDICIONAL
if($arrojado == $buscar){
echo"todo bien";
}
else {
echo "El numero consultado no existe";
?>
答案 0 :(得分:1)
首先,你应该阅读这个问题的答案:How to get useful error messages in PHP?这会给你带来很多麻烦。
您正在尝试将数据库结果与字符串进行比较,但这不起作用:
$buscar = $_POST["palabra"];
...
$arrojado = sqlsrv_query("...");
...
if($arrojado == $buscar) {
...
}
您还以错误的顺序将参数传递给sqlsrv_query()
,并且在代码末尾缺少2个结束括号,在echo
语句后缺少空格。
您需要从结果集中获取行,然后从中获取第一个条目:
<?php
if($_POST['buscar']) {
$usuario= '';
$pass = '';
$servidor = '';
$basedatos = '';
$info = array('Database'=>$basedatos, 'UID'=>$usuario, 'PWD'=>$pass);
$conexion = sqlsrv_connect($servidor, $info);
if(!$conexion){
die( print_r( sqlsrv_errors(), true));
}
echo 'Conectado';
$buscar = $_POST["palabra"];
$arrojado = sqlsrv_query($conexion, "SELECT `ID` FROM Venta WHERE `ID` LIKE '%buscar%'");
if (!$arrojado) {
die("Problemas en el select:".sqlsrv_error());
}
$row = sqlsrv_fetch_array($arrojado, SQLSRV_FETCH_ASSOC);
//COMPARAMOS CON UNA CONDICIONAL
if($arrojado["ID"] == $buscar){
echo "todo bien";
} else {
echo "El numero consultado no existe";
}
}
?>