相关疑难解决方法(0)

测试MySQL表中是否存在行的最佳方法

我试图找出表中是否存在行.使用MySQL,最好像这样进行查询:

SELECT COUNT(*) AS total FROM table1 WHERE ...
Run Code Online (Sandbox Code Playgroud)

并检查总数是否为非零或是否更好地执行这样的查询:

SELECT * FROM table1 WHERE ... LIMIT 1
Run Code Online (Sandbox Code Playgroud)

并检查是否有任何行返回?

在两个查询中,WHERE子句都使用索引.

mysql sql performance exists

313
推荐指数
6
解决办法
34万
查看次数

我可以在PHP中混合MySQL API吗?

我搜索过网络,到目前为止我所看到的是你可以使用mysql_mysqli_一起意义:

<?php
$con=mysqli_connect("localhost", "root" ,"" ,"mysql");

if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect";
}else{
    echo "connected";
}
mysql_close($con);
echo "Done";
?>
Run Code Online (Sandbox Code Playgroud)

要么

<?php
$con=mysql_connect("localhost", "root" ,"" ,"mysql");
if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect";
}else{
    echo "connected";
}
mysqli_close($con);
echo "Done";
?>
Run Code Online (Sandbox Code Playgroud)

有效,但是当我使用这段代码时,我得到的是:

Connected
Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9
Done
Run Code Online (Sandbox Code Playgroud)

对于第一个和相同的除外mysqli_close().对于第二个.

问题是什么?我不能使用mysql_mysqli在一起?还是正常的?我可以检查连接是否有效吗?(if(mysq...))

php mysql mysqli pdo

102
推荐指数
2
解决办法
1万
查看次数

如何向现有表添加唯一键(具有非唯一行)

我想在现有表中添加复杂的唯一键.主要从4个领域(包括user_id,game_id,date,time).但是表有非唯一的行.我知道我可以删除所有重复的日期,然后添加复杂的密钥.

可能存在另一种解决方案而不搜索所有重复数 (比如添加唯一的忽略等).

UPD我搜索过,如何删除重复的mysql行 - 我认为这是很好的解决方案. 仅使用MySQL查询删除重复项?

mysql unique-key

58
推荐指数
3
解决办法
15万
查看次数

如何检查值是否已存在以避免重复?

我有一个URL表,我不想要任何重复的URL.如何使用PHP/MySQL检查表中是否已存在给定的URL?

php mysql sql

31
推荐指数
6
解决办法
8万
查看次数

MySql php:检查Row是否存在

这可能是一件容易的事情,但我是一个业余爱好者,事情本身并不适合我.

我只想查看$ lectureName显示的行是否存在.如果某个行确实存在且其中包含$ lectureName,我希望该函数返回"已分配",否则它应返回"可用".这就是我所拥有的.我很确定它一团糟.请帮忙.

function checkLectureStatus($lectureName)
{
 $con = connectvar();
 mysql_select_db("mydatabase", $con);
 $result = mysql_query("SELECT * FROM preditors_assigned WHERE lecture_name='$lectureName'");
  while($row = mysql_fetch_array($result));
  {
     if (!$row[$lectureName] == $lectureName)
     {
         mysql_close($con);
         return "Available";
     }
      else
     {
        mysql_close($con);
        return "Assigned";
    }
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,一切都返回可用,即使它应该返回分配.

php mysql

24
推荐指数
3
解决办法
12万
查看次数

检查PHP是否存在SQL行

我正在使用MySQL和PHP,我需要做这样的事情(伪代码):

if (sql row exists where username='bob')
{
    // do this stuff
}
Run Code Online (Sandbox Code Playgroud)

php sql database if-statement

14
推荐指数
2
解决办法
5万
查看次数

尝试使用PHP检查MySQL数据库中是否已存在用户名

我已经查看过与我的问题类似的许多其他帖子,并尽可能地实现了他们的解决方案(据我所知).但是,每次执行此脚本时,都会执行else块中的代码(即使输入的用户名是已存在的用户名).

表名是"用户",我要搜索的列是"用户名".我的表格中的输入被读入$username,我验证它是使用echo正确读取的.$con包含与服务器的连接.

在某些时候,我也放入echo $query(没有打印)和echo mysql_num_rows($query)(没有打印).

这是代码的相关部分.真的很感激一些提示.

$query = mysql_query("SELECT username FROM Users WHERE username=$username", $con);

  if (mysql_num_rows($query) != 0)
  {
      echo "Username already exists";
  }

  else
  {
    ...
  }
Run Code Online (Sandbox Code Playgroud)

编辑:显然我应该使用mysqli为我的服务器和我检查num_rows的方式是通过执行$ query-> num_rows,因为它是对象的属性.感谢您的帮助!

php mysql sql

9
推荐指数
2
解决办法
10万
查看次数

通过php检查mysql表中是否存在用户名?

我试图找出如何让我的注册PHP代码检查注册表的用户名是否已被采用,如果是,请不要注册,告诉用户它已被采用.这是我的整个注册处理文件.

<?php
$con=mysqli_connect("localhost","root","","users");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$hpassword = hash( 'sha512', $_POST['password'] );
$eusername = mysqli_real_escape_string( $con, $_POST['username'] );
$eemail = mysqli_real_escape_string( $con, $_POST['email'] );
$fusername = str_replace(' ', '', $eusername);

$sql="INSERT INTO users (username, password, email)
VALUES
('$fusername','$hpassword','$eemail')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
mysqli_close($con);
?> 
Run Code Online (Sandbox Code Playgroud)

php mysql

6
推荐指数
3
解决办法
8万
查看次数

如果值存在则检查SQL数据库,如果存在则返回值

我对php和SQL都很陌生.我有一个登录页面,我要求用户的用户名和密码.我想搜索我为用户名和密码创建的数据库,看看它们是否存在.数据库表有两列,Username和Password.我不太关心安全性,所以一个简单的脚本将起作用.但我确实希望有一天能够扩展它,因此我使用的是数据库,因为目前我只是在php中使用一个数组来存储用户名和密码.

我目前正在尝试使用此代码,但我没有得到我需要的结果.

$user_name = "db_username";
$password = "db_password";
$database = "db_name";
$server = "db_server";



$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);

if ($db_found) {
$result =mysql_query("SELECT 1 FROM my_table WHERE Username = $username");
if ($result>0)

    {
        echo 'Username and Password Found'; 
    }
else
    {
    echo 'Username and Password NOT Found';
    }
}
else {
print "Database NOT Found.";
mysql_close($db_handle);
}
Run Code Online (Sandbox Code Playgroud)

Username and Password Found无论用户名是否存在,这都会返回.打印时$result我得到了Resource id #2.谢谢

php sql database passwords username

4
推荐指数
1
解决办法
7万
查看次数

PHP mysqli查询检查是否存在行

我有一个mysql表,我想检查是否存在columnA = $ a和$ columnB = $ b的行.我不需要从那里选择任何东西.什么应该是有效的查询?目前我喜欢,

if ($stmt = mysqli->prepare("SELECT * FROM TABLE WHERE columnA=? && columnB= ? LIMIT 1")) {
    $stmt->bind_param("ss", $a, $b);
    $stmt->execute();
    $stmt->store_result();
    $count=$stmt->num_rows;
    $stmt->close();
    }
    return ($count > 0 ? true : false);
Run Code Online (Sandbox Code Playgroud)

php mysqli

2
推荐指数
1
解决办法
9822
查看次数