【问题标题】:Database Help PHP Beginner数据库帮助 PHP 初学者
【发布时间】:2012-03-14 08:35:39
【问题描述】:

我想创建一个数据库并使用任何编程语言(最好是 PHP)连接到它,但我对编程真的很陌生,我只知道 Javascript 和 HTML5。(我有一个网站,主机是 HostGator

有没有人知道什么好的教程或者想在这里解释一下?

这是我目前所拥有的:

<?php
    $con = mysql_connect("HOST","USERNAME", "PASSWORD");
    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }

    if ($con)
    {
        die('Connection complete');
    }
?>

但除非我添加标题标签,否则我什么也得不到,例如:

die('<h5>Connection complete</h5>');

如果我这样做了,我会得到这个:

Connection complete'); } ?> 

请帮忙。

【问题讨论】:

  • 尝试检查空白网页的来源 - 可能有其他东西干扰了它的正常显示。 (也就是说,您并不严格需要 html/body 标记等来在浏览器中显示 something
  • 顺便说一句,在开发Web应用程序时,通常的做法是在您自己的计算机上设置一个开发环境 - 然后在一切正常时上传。使用共享主机帐户并没有错,但它确实会导致开发缓慢:)
  • 在浏览器中查看源代码。我怀疑服务器没有解释 PHP,然后浏览器试图将整个事情视为一个无法显示的大型非标准 html 标签/
  • 我也会跳过诸如“连接完成”之类的非描述性消息并放入 die(mysql_error()) 以便至少您知道连接问题是什么。
  • 如果您的目标是学习 DB 编程,则不要对此评论感兴趣。如果您只需要一个快速解决方案来管理数据,请在此处查看:wakanda.org

标签: php mysql database html connect


【解决方案1】:

无需过多地重写您的代码 - 它基本上可以满足您的需求。

但是,这行没有意义:

if ($con)
{
    die('Connection complete');
}

die() 在出现问题时使用。 if($con) 表示一切正常。

如果您将die('Connection complete'); 替换为:

echo 'Connection complete'; 

一切都应该按照你想要的方式工作。

【讨论】:

    【解决方案2】:

    您的代码正在运行。当您输入if($con) 时,这意味着“如果我有联系”,所以如果您收到您所说的回复,那么您就有联系。问题是在您的 if 条件下,您使用的是die(),这等于说“退出程序并在退出时执行括号中的内容”。因此,您的代码实际上是“如果可以建立连接,请退出程序”。试试这个

    <?php
      $con = mysql_connect("HOST","USERNAME", "PASSWORD");
      if (!$con)
      {
          die('Could not connect: ' . mysql_error());
      }
    
      $testvar = 5;
      $teststring = 'I have '.$testvar.' dogs';
      echo $teststring;
    ?>
    

    这基本上是说“如果我没有连接出口,否则为变量赋值,然后使用该变量创建另一个变量,在本例中为字符串,并连接(查找)。然后输出那个字符串。

    【讨论】:

      【解决方案3】:

      我的建议是你看看 PHP PDO 框架。是一个很好的使用数据库的框架。你可以从这里开始PHP PDO's documentaion 并在这里形成谷歌的教程。但我会强烈推荐上面的框架

      【讨论】:

      • 同意 - 我认为没有任何理由再使用 mysql 库了 - 人们应该已经切换到 PDO。
      【解决方案4】:

      试试:

      $connect = mysql_connect("HOST", "USERNAME", "PASSWORD")or die ("Could not connect: ".mysql_error());
      

      并删除if 语句。

      【讨论】:

      • 这应该可行,但与原始问题几乎相同。
      • 只是出于兴趣,在尝试连接后,您是否仍然能够抓取并显示mysql_error()(如原始问题)?
      • 是 - '最后一个错误'被保留,直到另一个 mysql_ 调用。
      【解决方案5】:

      我得到了这个,我认为它很容易修改,我只复制粘贴到我所有的项目中

      <?
      
      $dbhost = "localhost";  // hostof MYSQL [Normally localhost]
      $dbusuario = "dbuser"; // Here its the name that you need to access the db, normally cpanelname_mysqluser
      $dbpassword = "dbPass"; //the password you need to access the db
      $db = "db"; // Select the data base  you want to work
      $conexion = mysql_connect($dbhost, $dbusuario, $dbpassword);
      mysql_select_db($db, $conexion);
      ?>
      

      您需要的所有数据都与您访问 phpmydmin 的数据相同

      【讨论】:

      • “我只在我所有的项目中复制和粘贴”对于编程网站来说不是很好的建议...:)
      • 这是我认为不是很好的建议的“唯一”。当你不明白某些事情时,我认为最好花几分钟时间来了解哪里出了问题。我有时也会复制和粘贴代码,但你也需要能够编写自己的代码。
      • @amindfv 我当然会修改它,并创建了我在 PHP、iOS、JS 中创建自己的框架。要在我所有的项目中使用,当然是对我有用的功能非常小的框架
      【解决方案6】:

      这里有一个很好的基础PHP mySQL数据库连接教程。

      http://www.w3schools.com/php/php_mysql_connect.asp

      【讨论】:

        【解决方案7】:

        查看有关连接到数据库的 PHP 文档。具体来说,mysql_connect()。这包含一些可用于您自己的代码的示例。

        如果您的问题分为两部分,并且您得到了您不期望的输出,请在您的问题中澄清这一点。

        【讨论】:

          【解决方案8】:

          我认为 horatio 上面的评论是正确的。服务器应该运行 PHP 代码,并且只有输出应该被发送到浏览器。所以你不应该在“连接完成”之后看到分号、大括号等。添加和删​​除标签会有所不同的事实也是一个线索。如果您在浏览器中查看页面源代码并看到您的 PHP 代码,那么服务器不会将其解释为 PHP。检查文件名是否以“.php”结尾。让我们知道您的进展情况。

          【讨论】:

            【解决方案9】:

            mysqli_connect() 中缺少数据库名称,应为mysqli_connect($host,$user.$password,$db)

            【讨论】:

              【解决方案10】:

              尝试通过在您的数据库中创建一个表来检查您的连接,该表在您的 phpmyadmin 中只有两个字段 id 和 name,然后将值插入到您的数据库中。通过使用此代码。

              $dbhost = 'localhost';
              $dbuser = 'root';
              $dbpass = 'rootpassword';
              $dbname='abc';
              
              $conn = mysql_connect($dbhost, $dbuser, $dbpass);
              
                 if(! $conn )
                 {
                    die('Could not connect: ' . mysql_error());
                 }
              mysql_select_db($dbname);
              $query = "INSERT into yourtable (id,name) VALUES (1,"ABC")";
              $success = mysql_query( $query, $conn );
              if(! $success )
                 {
                    die('Could not enter data: ' . mysql_error());
                 }
              
                 echo "Thank You For Contacting Us\n";
              
                 mysql_close($conn);
              

              通过这段代码,你可以了解mysql如何与php一起工作的每一件事

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-01-10
                • 1970-01-01
                • 1970-01-01
                • 2021-04-11
                • 2022-01-17
                相关资源
                最近更新 更多