php - 如何使用 PHP 获取 MySQL 字段的内容?

标签 php mysql

我一直在处理我网站的数据库,最近遇到了这个问题: 我希望用户在提交同一行的另一个字段时读取一行的字段。 即:

user_id=1 user_name=Fran user_pass=Potato referedby_id=0 referedby_name=empty

When going inside www.website.com/form.php?referedby_id=1

I want the user to see "So, Fran refered you?"

我一直在学习 php,我决定尝试一下:

$referedbyid = mysqli_real_escape_string($con,$_POST["referedby_id"]); //In this case it's 1 because of the url

$sel_referedbyname = "select user_name from users where user_id='$referedbyid'"; //Then this should be the select of the user_name "Fran"

$run_referedbyname = mysqli_query($con, $sel_referedbyname); //Then a query for that select

$check_referedbyname = mysqli_fetch_field($run_referedbyname); //And this one the content of the query's result

$refername = $check_refername->user_name; //As the query result is an object I want to convert it to text

if(isset($_POST["register"]) && $check_user == 0 && $check_email == 0 && $pass == $pass2){ //If everything is right and the user/email does not already exist

mysqli_query($con,"INSERT INTO users (user_name, user_email, user_pass, refer_id, refer_name) VALUES ('$user', '$email', '$pass', '$referid', '$refername')"); //It's submitted to the database with the other values.

mysqli_close($con); //And we finish the connection with the db.

问题是,当我尝试执行此操作并检查数据库时,referedby_name 字段为空。是语法错误吗?或者这是因为它没有正确转换为文本?

如果 $referedbyname 不是文本,如何正确转换它?这是因为我使用了 fetch_field 函数错误吗?

其他信息: $referedbyid 正在使用此 html 以 POST 形式正确调用(我认为)

<form action="register.php" method="post" onsubmit="validate();">

<table width="500" align="center" bgcolor="skyblue">

<tr align="center">

<td colspan="3"><h2>Registrarse</h2></td>

</tr>

<tr>

<td align="right"><b>Nombre de usuario:</b></td>

<td><input type="text" name="user" required="required"/></td>

</tr>

<tr>

<td align="right"><b>Email:</b></td>

<td><input type="email" name="email" required="required"/></td>

</tr>

<tr>

<tr>

<td align="right"><b>Contraseña:</b></td>

<td><input type="password" id="pass" name="pass" required="required"/></td>

</tr>

<tr>

<td align="right"><b>Verificar contraseña:</b></td>

<td><input type="password" id="pass2" name="pass2" required="required"/></td>

</tr>

<tr align="center">
<td colspan="3">
<input type="hidden" name="referedby_id" value="<?php echo $_GET["referedby_id"]; ?>"/>
<input type="submit" name="register" value="Registrarse"/></td>
</tr>

</table>

</form>

最佳答案

我不知道为什么投反对票,我试图尽可能清晰和具体...... 无论如何,如果其他人在查找特定字段的时遇到任何问题,只需使用mysqli_fetch_assoc(mysqli_query($conect, $select))['name of the sql field']

mysqli_fetch_field($result) 只会显示有关字段的信息,例如输入类型、表名称、列名称等。

希望这对遇到同样问题的人有用。再见。

关于php - 如何使用 PHP 获取 MySQL 字段的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30564038/

相关文章:

php - php中的随机图像

php - MySQL 更新没有按我的预期进行

php - 将正则表达式与整个字符串进行匹配

php - 从列中获取值,但返回 null?

MySql:按日期计算不同值的出现次数

PHP DOMDocument 获取标签的属性

php - 通过具有幂等性的 Ansible 安装 PHP Pear 包

mysql - 如何更新表A中所有行的值应该更新表b和c中所有相应的列值

mysql - MySQL 中的全文搜索 - 多个搜索词、部分搜索词、带撇号、不带撇号

javascript - 以html形式输入ID并在同一页面从MySQL数据库加载相关数据