Jump to content

gizmola

Administrators
  • Posts

    5,954
  • Joined

  • Last visited

  • Days Won

    145

Everything posted by gizmola

  1. The table may be corrupt. Take a look at running the fixisam or whatever the name of that mysql function is.
  2. You need to be a lot more specific, if you expect to get any help. We are not mind readers. Read the posting guidelines document that\'s linked in my sig. It should help you understand the type of information you need to supply. Also this should go in the Mysql forum.
  3. Is it possible that permissions need to be set for that directory?
  4. Yeah you can\'t get this to work unless the subdomain can be resolved via DNS. What you *could* get working with mod_rewrite would be support for: http://www.yoursite.com/username
  5. All I can tell you is that I have vhost statements in my httpd.conf. You should not have to move them into a seperate file or set of files for it to work. It sounds like you have a syntax problem. Post the vhosts section of your httpd.conf.
  6. Probably need to run this as root, or su\'d as root.
  7. You can tunnel other protocols through SSH though. The biggest problem with ftp is usually the requirement that you use passive mode.
  8. That\'s definately a mysql error. You need to investigate your Mysql installation, because something is not right.
  9. It could be many things. Some suggestions to try: run myisamchk on your table to make sure it\'s not corrupt. Make sure you\'ve not run out of space. Check the mysql log. Execute an insert from the command line. Are you out of keys? Is it trying to insert a duplicate into a column(s) where a unique index exists? What error is returned on the insert?
  10. The sql standard way of doing this would be approximately this: update lyrics set artist = SUBSTRING(artist, 5) where UPPER(artist) like \'THE %\'; Make sure you do a select first just to make sure that the substring replacement is working right: select SUBSTRING(artist, 5) from lyrics where UPPER(artist) like \'THE %\';
  11. Not that I know of. The reason Dreamweaver or frontpage can do what they do, is that html is processed clientside, so it\'s feasible to include a full fledged html parser. If you think about what Dreamweaver and Frontpage do: they\'re basically HTML code generators, that provide a wysiwig interface. PHP is an interpreted server side include language. A function that for example, reads information from a database, fills variables, opens a template and does search and replace, and finally runs the result through evaluate() has no corresponding visual counterpart. In order for that to make any sense to a visual design tool. In the client server world, there are Fourth generation languages like visual basic, Gupta SQLWindows or Delphi, that do for those languages what Dreamweaver does for html. However those products do something that is non-trivial: they create client server enabled windows applications. In regards to php, creating an html application just isn\'t that complicated to warrant the lengths someone would have to go to to create a wysiwig php generator, nor would I guess is the market sufficient to support the price one would have to charge to recoup the substantial development investment. The LAMP environment isn\'t that popular in the fortune 500.
  12. Yes it would work. But you could also just execute the query again, with a mysql_query call. You need a query to get a result set. Once the result set has been fetched, as was stated, it\'s basically useless. If this is any static value, the advice of loading it into an array is a very good one. If you can avoid doing a requery you\'re keeping load off the database, and it should also perform better. If you are changing the database, or have an expectation that it might have changed then the re-query is understandable.
  13. Dreamweaver doesn\'t understand php. You can do some partial coding in Dreamweaver, but then you would need to cut the HTML code and paste it into your .php script, and hand edit from there.
  14. You did fairly well. The only thing I see you missing is a column for the actual amount of the transaction in transaction. Transaction should be your \"actual\" table, where the amount is stored. In that way, one time transactions and subscriptions can co-exist. If pricing changes over time, this won\'t matter, because the history of what was paid in the past will still be in The Transaction table. For one-time payments you can leave subscribe_id empty or better yet have a special Subscribe row (id 1 perhaps) that you use for all one time transactions.
  15. It\'s actually not strange at all. When you specify 3 tables in a query, and do not relate (ie join) those tables, the result is what\'s called a \"cartesian product\" or in other words, you will get a row for table1*table2*table3. To correct this you simply need to provide the required joins between the tables.
  16. It\'s your quotes. Switch to $where1 = \"County LIKE \'Derbyshire%\'\";
  17. Whatever device connects you to the internet (cablemodem or DSL router) is doing NAT, because you are using a non-routable IP for your internal lan, ie 192.168.0.1. the 192.168.0.1 network can not be seen from the internet... it is non routable. Thus, you will need to configure your router to map it\'s port 80 traffic to the internal machine that has the webserver. How you would do that depends on how your router works, but usually you set up a rule that allows port 80 from source * to 192.168.0.1.
  18. Mysql\'s limit feature is one of the really nice things it offers. That\'s definately the way to go. Hopefully you have a key to the table using auto_increment, or have a timestamp column. Then you would not have to bother with trying to get the count(*) and do a limit count(*)-20, and would instead simply do: SELECT * FROM Table ORDER BY Table_id DESC LIMIT 20; This will display the rows most recent first. May be what you want, and saves an extra query.
  19. Mysql stores this type of information in the mysql user table, which is in the mysql data dictionary. Typically, a user will be created like so: someuser@localhost. This will indicate to mysql that the user can only connect from localhost. If the host has indicated that you can\'t make a remote connection, then they have probably setup your database user in this fashion, and mysql will not allow you to connect to it from any network address other than localhost.
  20. If the table already exists, you would need to use alter table.
  21. It means that there can only be one auto_increment column per table, and that column must be a key for the table, usually the primary key.
  22. Seems like you are asking for a combination of declarative referential integrity and triggers for a subtyped table. There is no magical way of handling this type of design, especially with mysql. Mysql doesn\'t have triggers. I assume that there must be some substantial commonality in the set of columns between the tables that makes this type of code worthwhile, because you are guaranteed to need a case statement to determine which subtype table you will join to. The typical way of handling this is with 2 main tables, and 1..x subtables. Table1 (Your main table... you called it index, should have an auto_increment key called indexid. Table2 (The subtype table) This has a subtypeid key and description. The rows in the table will be: 1. Features 2.News 3.Previews 4.Reviews 5.Rants Tables 3-7 in your case are the feature, news, preview etc. tables. You set Table 2 to have a foreign key relationship to Table1. That is, there should be a subtypeid column in your index table. In each of your subtype tables, you will include the primary key from the index table in them. Here\'s an example: CREATE TABLE features ( indexid INT UNSIGNED NOT NULL, othercolumns...., FOREIGN KEY (indexid) REFERENCES index (indexid), PRIMARY KEY (indexid)); When you do an insert, you will insert your row into index first, setting the correct subtypeid for the subtable... ie 1 for an entry into the feature table. Immediately following the successful insert into the index table you: $indexid = mysql_insert_id($dbh); (where $dbh was the handle used in the insert query) Then have your case statement, and you examine the value of $subtypeid, which tells you which child table you should be doing your follow up insert. You then do an insert into that table, with the appropriate columns, and using the $indexid to set the indexid column value. When querying the results out later, you join index to subtypetable by the indexid column. Ideally you surround this process with a transaction, so that if at any point an insert fails, you can rollback the entire thing. The availabilty and syntax for a transaction-like capability really depends on the version of mysql you are using.
  23. Well that\'s a partition of your harddrive. Whatever filesystem is mounted there is full. Note the filesytem mount that\'s displayed as Mounted on. You\'d have to delete files from the filesystem to clear up space if you needed to write more data there. MySQL databases are a series of files, so if MySQL is configured to write it\'s data on that mount, you\'re going to get an error.
  24. I agree 100% with what Shivabharat advised. A few things I would add though: With the more current versions of php you suppossedly don\'t need to seed rand with srand. I would select min(quoteid), max(quoteid) from yourtable first, then use those values to pass to rand: $randid = rand($minval, $maxval); Then as Shiv suggested just do a select quote from yourtable where quoteid = $randid
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.