开发者

MySQL duplicate check won't work

开发者 https://www.devze.com 2023-03-31 17:51 出处:网络
I\'m trying to let users upload something to my website\'s database, but I want to check if it\'s already there before I let them upload it. Right now all of my code has been written in Dreamweaver in

I'm trying to let users upload something to my website's database, but I want to check if it's already there before I let them upload it. Right now all of my code has been written in Dreamweaver in the first code block, except the isO function was part of my attempt to get it to work.

Here is my code:

    <?php require_once('../Connections/Main.php'); ?>
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
    {
    if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
    }

    $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

    switch ($theType) {
     case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
     }
     return $theValue;
     }
     }

     mysql_select_db($database_Main, $Main);
     $query_youtube = "SELECT video_id FROM youtube";
     $youtube = mysql_query($query_youtube, $Main) or die(mysql_error());
     $row_youtube = mysql_fetch_assoc($youtube);
     $totalRows_youtube = mysql_num_rows($youtube);

     $editFormAction = $_SERVE开发者_运维知识库R['PHP_SELF'];
     if (isset($_SERVER['QUERY_STRING'])) {
     $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
     }

     function isO($sample) {
     mysql_select_db($database_Main, $Main);
    $dbunames = mysql_query("SELECT * FROM youtube WHERE video_id='".$sample."'", $Main);
    echo ($dbunames);
    if(mysql_num_rows($dbunames) == $sample ) { //check if there is already an entry for that username
    echo "this video has alreday been submited";
    return false ;
    } else {
    return true;
    }
    }

    $pieces = explode("=", $_POST['url']);
    $Ndone = $pieces[1];
    $pieces = explode("&", $Ndone);
    $done = $pieces[0];
        if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "youtube" && isO($done))) {

        $insertSQL = sprintf("INSERT INTO youtube (video_id) VALUES (%s)",
                       GetSQLValueString($done, "text"));

         $Result1 = mysql_query($insertSQL, $Main) or die(mysql_error());
}
?>

         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script src="../SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
        <link href="../SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
        </head>
        <style type="text/css">
        .text_box {
    text
    font-size: 9px;
    color: #000;
    }
    </style>
    <body>
     <?php 
     if (isset($_POST['url'])){
    echo "YouTube Video Submited";
    }
?>
     <form action="<?php echo $editFormAction; ?>" name="youtube" height="100px" method="POST" id="youtube">
    <span id="url">
    <input type="text" class="text_box" value="type in url of video " name="url" id="url2" />
    <span class="textfieldRequiredMsg">A value is required.</span><span class="textfieldInvalidFormatMsg">Invalid format.</span></span>
    </input>
    <input type="submit">
    <input type="hidden" name="MM_insert" value="youtube" />
    </p>
    </input>
    </form>
    <?php ?>
    <script type="text/javascript">
     var sprytextfield1 = new Spry.Widget.ValidationTextField("url", "url", {validateOn:        ["blur"]});
    </script>
    </body>
    </html>
    <?php
    mysql_free_result($youtube);
    ?>


change this:

if(mysql_num_rows($dbunames) == $sample )

to this

if(mysql_num_rows($dbunames) >= 1)

mysql_num_rows count the number of rows returned. If even 1 row is returned, a record with id of $sample already exists in your table

0

精彩评论

暂无评论...
验证码 换一张
取 消