Php Mysqli查询中出错&;行数

Php Mysqli查询中出错&;行数,php,mysqli,Php,Mysqli,我的代码中有两个bug,但我不明白为什么。。。我有一个类似的代码,它准备正确。。。我的代码是下一个: if (isset($_POST['buscandoEducateca'])) { //get thevariables $buscarEducateca = $_POST['buscarEducateca']; // input text from the form $tipoBusquedaEducateca = $_POST['

我的代码中有两个bug,但我不明白为什么。。。我有一个类似的代码,它准备正确。。。我的代码是下一个:

   if (isset($_POST['buscandoEducateca'])) {
            //get thevariables
        $buscarEducateca = $_POST['buscarEducateca']; // input text from the form
        $tipoBusquedaEducateca = $_POST['tipoBusqueda'];  //select from the form
            //Start the query
        $consultarEducateca = "SELECT '$tipoBusquedaEducateca' FROM AP1_2_tabla_clientes_Consulta WHERE '$tipoBusquedaEducateca'='$buscarEducateca'";
        $resultadoEducateca = mysqli_query($mysqli, $consultarEducateca); //HERE IS ONE WRONG mysqli_query() expects parameter 1 to be mysqli, null given
        $numeroEducateca = 0;

        $ray2 = mysqli_num_rows($resultadoEducateca); // HERE IS THE OTHER WRONG mysqli_num_rows() expects parameter 1 to be mysqli_result, null given


        if ($ray2 > 0) {

                while($rowNumeroEducateca = $resultadoEducateca->fetch_array(MYSQLI_ASSOC)) {

                echo "<tr><td width=\"25%\"><font face=\"verdana\">" . 
                        $rowNumeroEducateca["Nombre"] . "</font></td>";
               [..more..]   
                $numeroEducateca++;
            }

            echo "<tr><td colspan=\"15\"><font face=\"verdana\"><b>Número: " . $numeroEducateca . 
      "</b></font></td></tr>";  

            mysqli_free_result($resultadoEducateca);
        } else {

            echo "No se han encontrado filas, nada a imprimir.";     // if there aren't something tell me didn't found rows or anything to print, when i know that there are.

        }
    }
if(isset($\u POST['buscandoEducateca'])){
//获取变量
$buscarEducateca=$\u POST['buscarEducateca'];//从表单中输入文本
$tipoBusquedaEducateca=$\u POST['tipoBusqueda'];//从表单中选择
//启动查询
$consultarEducateca=“从AP1\u 2\u tabla\u clients\u Consulta中选择“$tipoBusquedaEducateca”,其中“$tipoBusquedaEducateca”=“$buscarEducateca”;
$resultadoEducateca=mysqli_query($mysqli,$consultarEducateca);//这里有一个错误,mysqli_query()期望参数1为mysqli,如果给定null
$numeroEducateca=0;
$ray2=mysqli_num_rows($resultadoEducateca);//这里是另一个错误的mysqli_num_rows()期望参数1为mysqli_result,给定null
如果($ray2>0){
while($rowNumeroEducateca=$resultadoEducateca->fetch_数组(MYSQLI_ASSOC)){
“回声”。
$rowNumeroEducateca[“Nombre”]。“”;
[…更多]
$numerioeducateca++;
}
echo“Número:”.$numeroEducateca。
"";  
mysqli_免费_结果($resultadoEducateca);
}否则{
echo“No se han encontrado filas,nada a imprimir.”;//如果没有什么,告诉我没有找到要打印的行或任何东西,当我知道有时。
}
}
还告诉我没有找到要打印的行或任何内容


谢谢,对不起我的英语

$mysqli要先声明。应该是这样的

$mysqli = mysqli_connect("yourhost","username","password","dbname");

对于这种情况,您应该尝试(至少)用英语命名变量。让你的代码对几乎所有人都可读,如果你不得不为了添加、修复(或类似的东西)而放弃它,你不必从头开始。为什么@DasSaffe?只要变量名可以在这里匹配,就没有任何问题。表名不能用单引号引起来
SELECT$tipoBusquedaEducateca
虽然可能需要反勾号
SELECT`$tipoBusquedaEducateca`
其中`$tipoBusquedaEducateca`='$buscarEducateca'
请接下去,存在一个必须修复的SQL注入漏洞。看见至少您必须调用
$buscarEducateca=mysqli\u real\u escape\u string($mysqli,$\u POST['tipoBusqueda')但更好的是开始学习根据链接中的示例使用
prepare()/execute()
question@JayBlanchard首先,保持编码准则始终是一个好的实践。您还可以问“如果
后面只有一个命令,为什么要在
if
后面设置花括号”或“为什么要使用驼峰式大小写,甚至是要使用代码?”